• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel VBA タイマー表示について)

Excel VBAタイマー表示について

このQ&Aのポイント
  • Excel VBAでタイマー表示を行いながらキー入力をする方法はありますか?
  • Excelで計算問題のプログラムを作成しています。タイマー表示を行いながら問題を解くようにしたいですが、キー入力を行うとタイマーが止まってしまいます。
  • 問題スタート時にタイマーを起動し、答えをキー入力してEnterキーで答え合わせをする仕組みです。指定問題数終了までタイマーを止めずに動作させる方法はありますか?

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.3

> フォームが開いている間セルの操作を受け付けてくれません。 書き忘れてました フォームのプロパティでShowModalをFalseにしてください。

ken-nosuke
質問者

お礼

ありがとうございました。 希望通りの表示が出来ました。 フォームの利用は初めてですので、これから勉強したいと思います。 1の方の方法も試してみたいと思います。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.2

シート上のセルに開始時刻、経過時間、終了時刻を記録しながら 並行して、 そのシート上でデータの入力などを行いたいということと思います。 私だったら、 Application.OnTime メソッド を使います。 https://excel-ubara.com/excelvba4/EXCEL299.html を参考に、以下のようにしてみてはいかがでしょうか。 Option Explicit Public mOnTime As Date Sub TimerProc()  With ThisWorkbook.Sheets(1)   .Cells(3, 4).Value = Format(.Cells(2, 4).Value - Now, "hh:mm:ss")  End With End Sub Sub OnTimeStart()  Call TimerProc  mOnTime = Now() + TimeSerial(0, 0, 1)  Call Application.OnTime(mOnTime, "OnTimeStart") End Sub Sub OnTimeStop()  '同一のProcedureとEarliestTimeがないとエラーになる  On Error Resume Next  Call Application.OnTime(mOnTime, "OnTimeStart", , False) End Sub Sub JobStart()  With ThisWorkbook.Sheets(1)   .Cells(2, 4).Value = Format(Now, "hh:mm:ss")   OnTimeStart  End With End Sub Sub JobStop()  OnTimeStop  With ThisWorkbook.Sheets(1)   .Cells(4, 4).Value = Format(Now, "hh:mm:ss")  End With End Sub

ken-nosuke
質問者

お礼

回答ありがとうございます。 ontimeメソッドはセルに入力中はタイマが止まり、入力を終えると、再稼働し正しい経過時間を示します。私の方法と同じく、タイマを動かし続けることが出来ません。

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.1

こちらの方法を参考にしてみたらいかがでしょう。 ユーザーフォームに時計をつけてみる https://e-vba.com/userformwatch/

ken-nosuke
質問者

補足

時計の起動/表示は、出来ましたが、フォームが開いている間セルの操作を受け付けてくれません。やり方が間違っているのでしょうか? 時計を動かしながら、セルの操作を行いたいのですが?

すると、全ての回答が全文表示されます。

関連するQ&A