• ベストアンサー

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

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

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

  • ベストアンサー
  • 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
質問者

補足

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