• ベストアンサー

エクセル スピンボタンで日付

スピンボタン(フォーム)で日付と時間を動かしたいのですが教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • pauNed
  • ベストアンサー率74% (129/173)
回答No.5

#4補足へのレスです。 >日付や時間は現在の時刻でスタートしたいと思っています。 これが、 『そのBookを開いた時に、B1の初期値を現在日、B2の初期値を現在時刻に設定する』 という意味なら、マクロが必要です。 TODAY関数やNOW関数を使っても初期表示だけは可能ですが、 NOW関数だと、再計算の度に選択後の時刻がかわってしまいます。 以下手順。 シートのシートタブを右クリックして[コードの表示]。 VisualBasicEditor(VBE)が起動します。 [Alt]キー → [i]キー → [m]キー の順押し。 標準モジュールが挿入され、マウスカーソルがフォーカスします。 その無地シートのようなもの(コードウィンドウといいます)に以下をコピーペーストです。 Sub auto_open()   With Sheets("Sheet1")'" "の中はスピンボタンがある、実際のシート名に変更必要     .Range("A1").Value = 69083 - CLng(Date)     .Range("A2").Value = 1440 - Timer \ 60   End With End Sub このマクロは、Bookを開いた時にA1、A2 セルに初期値をセットします。 エクセルのメインメニューの[ツール]-[マクロ]-[マクロ]から実行する事も可能です。 ※B1、B2の数式が、レス#4で書いた、▼ボタンで増加させる場合の式である事を前提にしています。

pop2003
質問者

お礼

本当にありがとうございました。助かりました。

その他の回答 (5)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.6

なるほど、シートを開いたときの日時を初期値にしたいという事ですね やり方は pauNed さんのANo.5 と同じです コードは、下記のようになります ------------------------------ Sub auto_open()   Range("B1").Value = Year(Now())   Range("C1").Value = Month(Now())   Range("D1").Value = Day(Now())   Range("B2").Value = Hour(Now())   Range("C2").Value = Minute(Now())   Range("D2").Value = Second(Now()) End Sub

pop2003
質問者

補足

ありがとうがざいました、皆さん本当に凄いですね。

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.4

#1補足へのレスです。 日付に設定したスピンボタンは、 [コントロールの書式設定]の[コントロール]タブの 現在値     0 最小値     0 最大値   30000 変化の増分   1 ...と設定すると、(というか既定の値) スピンボタンの▲で1日ずつ増加します。 増加範囲は30,000が上限なので、前述の例では 2007/1/1~2089/2/19です。 もし、スピンボタンの▼で1日ずつ増加させたい場合。(操作感覚的にはこちら?) 前述の式を =69083-A1 に変更して、A1 の初期値を30,000にしておけば良いかと。 時刻のスピンボタンは 現在値    0 最小値    0 最大値   1440 変化の増分  1  (1分単位。10分単位は 10) これも同様に、▼で増加させたい場合。 前述の式を =1-A2/(24*60) に変更して、A2 の初期値を1,440にしておけば良いかと。

pop2003
質問者

補足

すいません。何度も質問してしまって、もう少し教えてください。日付や時間は現在の時刻でスタートしたいと思っています。 例)   日付 2007年6月14日 スピンボタン 時間 18:50     スピンボタン 上記のようにしたいのですが、教えてください。 すいません、本当に・・感謝しています。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

>現在値の設定はどうすればいいですか 基準となる年月日、時間を入れておけばどうでしょうか

pop2003
質問者

補足

1)ありがとうございます。セルに=TODY()で行うのですか? 2)コントロール書式設定の現在値の具体的な数字はなんと入れればいいですか?

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

日付の場合 スピンボタンを3つ(年、月、日)横に並べて貼り付けます 表示するセルを A1 としB1->年、C1->月、D1->日とします A1=DATA(B1,C1,D1) とし 左のスピンボタンを右クリックし、コントロールの書式設定->コントロールで リンクするセル->B1、最小値->1、最大値->12 という感じで、各スピンボタンを設定します 時間も同様ですが、 表示するセルをA2とした場合、B2->時、C2->分、D2->秒で、 関数を A2=TIME(B2,C2,D2) とします

pop2003
質問者

補足

ありがとうございます。しかし、もう少し教えてください。現在値の設定はどうすればいいですか?教えてください。

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 日付と時間を別々で設定する場合の一例です。 スピンボタンを2つ用意して、リンクセルをそれぞれ A1 と A2 に設定。 B1セルに数式入力。 =39083+A1 [セルの書式設定]の表示形式を『日付』にする。(39083は2007/1/1のシリアル値) B2セルにに数式入力。 =A2/(24*60) [セルの書式設定]の表示形式を『時刻』にする。 必要であれば、列Aを非表示にしたり。 日付と時刻を1つにまとめたり。 応用してみてください。

pop2003
質問者

補足

ありがとうございます。もう少し教えてください。コントロール書式設定の値はどのようにすればいいですか?

関連するQ&A

  • エクセルの日付(改;スピンボタン)

    下で、スピンボタンの質問をしたモノです。かなりわかりにくい書き方だったようなので、書き直させていただきます。すいません。 エクセルで、フォームの日付を毎回入力しないですむように、日付が上下するようなボタンを作りたいのです。 (毎回日付を入力するのが面倒なので) 日付を入れるセルは、書式で「日付」を選択し、フォームを使ってボタンを設定しようとするのですが、出だしの日付が、勝手に「1904」年になってしまいます。そのまま2001年まで進められるのかと思ったら「ボタンによる数値の上下は0~30000まで」ということで、2001年までたどり着きません。 ボタンにはこだわらないのですが、入力のための日付を簡単に入れる良い方法はありませんでしょうか。 また、入力した日付が勝手におかしくなるのはなぜなのでしょうか。 教えてください。お願いします。

  • エクセルのスピンボタンのコピーについて

    エクセルのスピンボタンのコピーについて いろいろ検索し、試しましたがうまくいきません。 A2セルに氏名(A3,A4と下に1000人程います) B1セルに日付(C1,D1と右に1ヶ月分) B2セルにスピンボタンを設定し、そのスピンボタンを縦1000行、横30列にコピーしたいのですが うまくいきません。。。 佐藤さんが12/1に3回⇒セルB2へ「3」 山田さんが12/2に5回⇒セルC3へ「5」 という感じで表示させたくて、B2へスピンボタンを設定しコピーしたのですがうまくいきません。 どうしたらできるでしょうか。 スピンボタンはフォームコントロールのものを使用しています。 Windows 7 Excel2007を使用しています。

  • エクセルのスピンボタン

    エクセルで自動入力のためのマクロを作っています。 その中で、日付をスピンボタンで動かしたいのですが、どうしても「1904.1.1」になってしまいます。 OSはmacでエクセルは98か2001です。 winでの方法でもかまいません。教えてください。

  • ビスタで、エクセルのスピンボタンの作り方

    ウインドウズXPではスピンボタンが作れたのですが、 ビスタでは、表示→ツールバー→フォーム が見つかりません。 操作方法をぜひ、お教えください。

  • エクセルのスピンボタンで%は使える?

    エクセルのスピンボタンで、値の増減を0~100%まで5%きざみで、増減させたいのですが、 セルの値をパーセント表示にしており、スピンボタンを押すと、100%きざみでしか増減できません。 良い方法はないでしょうか。

  • エクセルスピンボタンの保護解除

    エクセルスピンボタンの保護解除について教えてください。 エクセル2003を使用しています。 (やりたい事) ・シートの保護 ・ですが、スピンボタンは使えるようにしたい。 (やった事) ・A1のセルにリンクするようにA1のセルの右横に、(表示→ツールバー→フォーム→スピンボタンを選び)スピンボタンを置きました。 ・スピンボタンのコントロールの書式設定→保護のチェック外しました。 ・ツール→範囲編集の許可→$A$1:$K$10をロック解除としました。 ・ツール→シートの保護→ロックされたセル範囲の選択とロックされていないセル範囲の選択にチェックを入れてOKを押しました。 ・ロックされたセル範囲の選択とロックされていないセル範囲のどちらか選ぶと両方選択されます。 (不具合) ・シートの保護をするとスピンボタンも使えなくなりました。 (質問) $A$1:$K$10とスピンボタン以外を保護したいのですが、 このような場合、私のやり方がおかしいのでしょうか? どなたか、教えて頂けませんか? 宜しくお願いします。

  • エクセルユーザーフォームの日付操作を教えてください。

    エクセルユーザーフォームの日付操作を教えてください。 テキストボックスにスピンボタンで日付を入力し、ワークシートに転記するとシリアル値ではなくテキストで転記されます。ワークシートの日付処理に反映されませんので良い方法があれば教えてください。(mm/ddの入力でも良いですスピンボタンにこだわりません)

  • エクセルでスピンボタンとスクロールバーについて

    エクセルでスピンボタンとスクロールバーについて エクセル2000です。 フォームのスピンボタンとスクロールバーをワークシート上に配置した場合、両者ともほぼ同じ働きをしてくれます。 ところが、大きな違いが有ります。 スピンボタンは上向き▲で数値が大きくなっていきます。これは感覚的にしっくりきます。 ところが縦向きのスクロールバーは上向き▲で数値が逆に小さくなっていきます。これはちょっと違和感があります。 それなら、スピンボタンを使えばいいだけのことと言われそうですが、スピンボタンにはバーがないのでスライドさせて数値を動かすことができないのでスクロールバーを使いたいのです。 もちろん数式を用いて、セルの表示上でそうなるようにはできますが、それではリンク先セルに直接数値を入力ができなくなり不便です。 スクロールバーで上向き▲で数値が大きくなるような設定にはできないのでしょうか? スクロールバーを縦ではなく横向きに配置すれば右スクロールで数値が増え、数直線と同じでしっくりくるのですが、レイアウトの都合で縦向きに配置したいのです。 わがままな質問ですみません。 よろしくお願いします。 (o。_。)oペコッ. (なお、同じ質問を1時間ほど前に投稿したつもりだったのですが、なぜか反映されていないので再度質問いたしました。もし二重になっていたら申し訳ありません。)

  • VBAとスピンボタンの使い方

    VBAとスピンボタンの使い方 学校勤務で以下の画像のような、生徒名簿を管理しています。 画像上段が、生徒名簿の検索フォームで、シート1です。 画像下段が、生徒名簿のデータベースで、シート2です。 シート2の生徒のデータベースは今は、NO8までですが だいたいNO1000位まで入っています。 検索フォームで一行一行の生徒データを、表示 させているのですが、今、シート1のB3の生徒氏名欄に シート2から生徒名をコピペして、データを表示させているような感じです。 一つ一つコピペするのは時間もかかるので、何か1名でも生徒名を 入力すれば、あとはスピンボタンでスクロール表示する関数またはVBAを スピンボタンに登録したいのですが。 また、できればB列の最後の行になれば、また、最初の行に戻るような コードがいいのですが。 VBA初心者でよくわかりませんでしたので、よろしくお願いします。

  • タスクバーにスピンボタンが

    お世話になっております。 急にタスクバーにある複数のウィンドウのボタンがひとつにまとまってしまい、そのとなりにスピンボタンができてしまいました。(つまりスピンボタンでウィンドウを選べるようになってしまった)ちなみにタスクバーのプロパティには「同様のタスクバーボタンをグループ化する」にはチェックはついていません。しかも、またへんなところをいじってしまったせいか、そのひとつにまとまったボタン&スピンボタンがもうひとつできてしまったのです!どちらのボタンも同じウィンドウのボタンです。いったいどこでもとに戻す設定をしたらよいのでしょうか?おしえてください。

専門家に質問してみよう