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

Excelで子供に試験問題を作っているのですが、シート内にボタンをつけて、スタートボタンをクリックすると時間を測りはじめて、終了ボタンを押すと、かかった時間を指定したセルに表示するようにしたいのですが、どのようにすれば良いでしょう?・・・ボタンの作り方はわかりますが、関数もしくはVBAの式がわかりません。 よろしく御願いします。Excelは2000です。

A 回答 (3件)

セルに書き込むのではなく、画面で表示できれば良いと言うことなら、以下のサンプルでどうでしょう。


標準モジュールに、以下のコードを貼り付けてください。

Public myTime As Date
Public myFlg As Boolean

Sub StopWatch()

If myFlg = False Then
'スタート
myTime = Now '現在の日時を変数に記憶します。
myFlg = True
Else
'ストップ
MsgBox "かかった時間 " & Format(Now - myTime, "h:mm:ss") 'かかった時間を表示。
myFlg = False
End If

End Sub

ボタンは1つ(スタート/ストップ兼用)でいいです。
そのボタンに、このマクロを貼ってください。
    • good
    • 3
この回答へのお礼

バッチリです! ありがとうございました。

お礼日時:2003/06/02 19:48

Public timer



Sub StartTimer()
timer = Time

End Sub

Sub EndTimer()
term = Time - timer
Sheet1.Cells(1, 1) = Second(term) 'かかった秒数をA1に表示
End Sub

こんなかんじもOKです。
開始ボタンにStartTimer、終了ボタンにEndTimerをマクロ登録してください。
    • good
    • 0

VisualBasic Editorを立ち上げ、標準モジュールを作成してください。


そこに、以下のコードを貼り付けます。


Sub StartButton()
Range("A1").Value = Now '現在の日時をセルA1に書き込みます。
End Sub

Sub StopButton()
Range("C1").Value = Format(Now - Range("A1").Value, "h:mm:ss") 'かかった時間をセルA1に書き込みます。
End Sub

そして、
シート上にボタンを作成し、開始ボタンにStartButtonマクロを、終了ボタンにStopButtonを登録してください。

なお、このサンプルでは、開始ボタンを押すとA1に開始時刻が記入されます。
そして、終了ボタンを押すとC1にかかった時間(秒数)が記入されます。
セルの番地などは、適宜書き換えてください。

この回答への補足

ありがとうございます。ただ、問題が生じました。説明に書かなかった私が悪いのですが・・・
シート内容は、子供向けの問題なんですが、式にRAND関数を使っていますので、ストップボタンを押すと問題が変わってしまうのです。RAND関数とストップボタンの両立はむりなのでしょうか? また他に、問題内容を新しくするためのボタンをCalculate を使って作ってあります。

補足日時:2003/06/02 18:05
    • good
    • 0

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