- ベストアンサー
エクセル スピンボタンで日付
スピンボタン(フォーム)で日付と時間を動かしたいのですが教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#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で書いた、▼ボタンで増加させる場合の式である事を前提にしています。
その他の回答 (5)
- ASIMOV
- ベストアンサー率41% (982/2351)
なるほど、シートを開いたときの日時を初期値にしたいという事ですね やり方は 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
補足
ありがとうがざいました、皆さん本当に凄いですね。
- pauNed
- ベストアンサー率74% (129/173)
#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にしておけば良いかと。
補足
すいません。何度も質問してしまって、もう少し教えてください。日付や時間は現在の時刻でスタートしたいと思っています。 例) 日付 2007年6月14日 スピンボタン 時間 18:50 スピンボタン 上記のようにしたいのですが、教えてください。 すいません、本当に・・感謝しています。
- ASIMOV
- ベストアンサー率41% (982/2351)
>現在値の設定はどうすればいいですか 基準となる年月日、時間を入れておけばどうでしょうか
補足
1)ありがとうございます。セルに=TODY()で行うのですか? 2)コントロール書式設定の現在値の具体的な数字はなんと入れればいいですか?
- ASIMOV
- ベストアンサー率41% (982/2351)
日付の場合 スピンボタンを3つ(年、月、日)横に並べて貼り付けます 表示するセルを A1 としB1->年、C1->月、D1->日とします A1=DATA(B1,C1,D1) とし 左のスピンボタンを右クリックし、コントロールの書式設定->コントロールで リンクするセル->B1、最小値->1、最大値->12 という感じで、各スピンボタンを設定します 時間も同様ですが、 表示するセルをA2とした場合、B2->時、C2->分、D2->秒で、 関数を A2=TIME(B2,C2,D2) とします
補足
ありがとうございます。しかし、もう少し教えてください。現在値の設定はどうすればいいですか?教えてください。
- pauNed
- ベストアンサー率74% (129/173)
こんにちは。 日付と時間を別々で設定する場合の一例です。 スピンボタンを2つ用意して、リンクセルをそれぞれ A1 と A2 に設定。 B1セルに数式入力。 =39083+A1 [セルの書式設定]の表示形式を『日付』にする。(39083は2007/1/1のシリアル値) B2セルにに数式入力。 =A2/(24*60) [セルの書式設定]の表示形式を『時刻』にする。 必要であれば、列Aを非表示にしたり。 日付と時刻を1つにまとめたり。 応用してみてください。
補足
ありがとうございます。もう少し教えてください。コントロール書式設定の値はどのようにすればいいですか?
お礼
本当にありがとうございました。助かりました。