アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (6件)

こんにちは。


日付と時間を別々で設定する場合の一例です。
スピンボタンを2つ用意して、リンクセルをそれぞれ A1 と A2 に設定。
B1セルに数式入力。
=39083+A1
[セルの書式設定]の表示形式を『日付』にする。(39083は2007/1/1のシリアル値)

B2セルにに数式入力。
=A2/(24*60)
[セルの書式設定]の表示形式を『時刻』にする。

必要であれば、列Aを非表示にしたり。
日付と時刻を1つにまとめたり。
応用してみてください。

この回答への補足

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

補足日時:2007/06/14 17:54
    • good
    • 0

日付の場合


スピンボタンを3つ(年、月、日)横に並べて貼り付けます
表示するセルを A1 としB1->年、C1->月、D1->日とします
A1=DATA(B1,C1,D1) とし
左のスピンボタンを右クリックし、コントロールの書式設定->コントロールで
リンクするセル->B1、最小値->1、最大値->12
という感じで、各スピンボタンを設定します

時間も同様ですが、
表示するセルをA2とした場合、B2->時、C2->分、D2->秒で、
関数を A2=TIME(B2,C2,D2) とします

この回答への補足

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

補足日時:2007/06/14 18:00
    • good
    • 1

>現在値の設定はどうすればいいですか



基準となる年月日、時間を入れておけばどうでしょうか

この回答への補足

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

補足日時:2007/06/14 18:22
    • good
    • 0

#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     スピンボタン

上記のようにしたいのですが、教えてください。
すいません、本当に・・感謝しています。

補足日時:2007/06/14 18:42
    • good
    • 0

#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で書いた、▼ボタンで増加させる場合の式である事を前提にしています。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/15 03:25

なるほど、シートを開いたときの日時を初期値にしたいという事ですね



やり方は 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

この回答への補足

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

補足日時:2007/06/15 03:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!