5

私のスプレッドシートの 1 つは、特に現在の日付と時刻を含むさまざまな計算を扱っており、手動で F9 を押したりセルの 1 つを変更したりする代わりに、時々自動的に更新されると便利です。

x秒ごとにスプレッドシートを自動的に再計算するようにExcelに設定する方法はありますか?

Excel 自体で設定を見つけることができませんでした。おそらく、そのような機能が存在しないことを示しています。そうでない場合、これはVBAで実現できますか? (後者はばかげた質問のように聞こえるかもしれませんし、そうではないかもしれませんが、私は Excel マクロを書いた経験がないので、スプレッドシートの操作に関してその機能がどのようなものかわかりません。)

4

2 に答える 2

9

このコードは、10 秒ごとに更新される時計を作成します。
ワークブック全体ではなく、特定のセルのみが更新されることに注意してください。これは、計算オプションを好きなように残すことができることを意味します。

Dim SchedRecalc As Date

Sub Recalc()
'Change specific cells
Range("A1").Value = Format(Now, "dd-mmm-yy")
Range("A2").Value = Format(Time, "hh:mm:ss AM/PM")
'or use the following line if you have a cell you wish to update
Range("A3").Calculate

Call StartTime ' need to keep calling the timer, as the ontime only runs once
End Sub

Sub StartTime()
SchedRecalc = Now + TimeValue("00:00:10")
Application.OnTime SchedRecalc, "Recalc"
End Sub

Sub EndTime()
On Error Resume Next
Application.OnTime EarliestTime:=SchedRecalc, _
        Procedure:="Recalc", Schedule:=False
End Sub

そして、それが確実に停止するように、This Workbookモジュールで次のようにします。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
EndTime
End Sub
于 2013-07-29T13:32:05.143 に答える