- ベストアンサー
エクセルシートのセルに現在時刻表示
エクセルシートのセルに現在時刻をリアルタイムで表示することができるのでしょうか? NOW()だとシートを開いた時刻が表示されるだけなので ・・・・何か方法はあるのでしょうか?教えてください!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1秒間隔でシート上の式を再計算させるマクロです。シートのどこかに =NOW() があれば時刻が更新されます。 シートを開いた時から自動で動きます。1秒間隔をもっと長くしたいならMacro1の「秒数はここで変える」の行を修正してください。 実行するには以下の3つのマクロをVBE画面の標準モジュールにペーストしてください。 Sub Auto_Open() Dim TargetTime, WaitTime TargetTime = Now + TimeValue("00:00:01") WaitTime = TimeValue("00:00:10") Application.OnTime TargetTime, "Macro1", WaitTime End Sub Sub Macro1() Dim TargetTime, WaitTime Calculate TargetTime = Now + TimeValue("00:00:01") '秒数はここで変える WaitTime = TimeValue("00:00:10") Application.OnTime TargetTime, "Macro1", WaitTime End Sub Sub auto_close() Dim i As Integer, TargetTime On Error Resume Next For i = 1 To 10 TargetTime = Now + TimeValue("00:00:" & Application.Text(i, "00")) Application.OnTime TargetTime, "Macro1", , False Next i End Sub
その他の回答 (3)
- zap35
- ベストアンサー率44% (1383/3079)
#02です。再計算をさせるため、マウス形状が一瞬変わるのは、とりあえずやむを得ないかもしれませんが、以下の対策で多少改善できると思います。 1)再計算の間隔を長くする(5秒など) 2)Macro1を以下に差し替える これは少しでも実行時間を短くするよう切りつめました。また再計算する範囲を限定しました。 Worksheets("シート名").Range("F5"). のところに、シート名と=NOW()が指定しているセルを指定してみてください。(以下の例ではF5セル) Sub Macro1() Worksheets("シート名").Range("F5").Calculate Application.OnTime Now + TimeValue("00:00:05"), "Macro1", TimeValue("00:00:10") End Sub
お礼
とても参考になりました。ありがとうございました。
- tom0120
- ベストアンサー率26% (367/1390)
http://www.sigoto.co.jp/excel/ やはり、できるようですね (^^; 「VBA(マクロ)」プログラム。 は、使ったことあるのでしょうか? 多少、最初は、むずかしいと思いますが なれれば、簡単です。 参考までに、「VBA(マクロ)」プログラム。 について、説明しているサイトがありましたので、 読んでみてください。 何度か読んでみないと、理解しにくいでしょうが、 かんばってください (^^
お礼
ありがとうございました!!
- tom0120
- ベストアンサー率26% (367/1390)
できないと思います。 ただし、 理屈としては、NOW()を、連続的に、1秒ごとに、表示させれば、いいと思うので、 その「プログラム」を書くと、できるような気がします。 ◆エクセルには、「VBAプログラム」の機能があります。 興味がありましたら、勉強してみるのもいいかと・・・
お礼
そうですか、無理ですか・・・勉強してみますね!ありがとうございました。
補足
出来ました、出来ました!ありがとうございました。 出来たのですが、マウスポインターとかが、フリッカーするようになりました。フリッカーしないように出来ないでしょうか?教えてください。