再計算されたときマクロを自動実行する
シートが再計算されたら、イミディエイトウィンドウに時刻を記録します。
実行前に確認
- 自動計算が有効な環境で試します。セルの変更箇所はTargetとして渡されません。
1サンプルコード
Private Sub Worksheet_Calculate()
Debug.Print "再計算: " & Now
End Sub図で見る操作の流れ
イメージ図コードに沿った概念図です。実際の画面や実行結果ではありません。
手動:準備
「練習」のシートモジュールへ配置。A1=1、B1に=A1*2、自動計算にする
手動:値を変える
A1を2に変更してシートを再計算させる
マクロ:記録
Worksheet_Calculateが「再計算: 」とその時刻を出力
手動:確認
VBEのCtrl+Gで出力を見る
F5で直接実行しません。変更セルの番地を受け取るイベントではなく、セルへ時刻を書き込む処理でもありません。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
- 1
練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。シート名を「練習」にし、A1に1、B1に=A1*2を入力します。計算方法を[自動]にします。
- 2
Alt+F11でVBEを開きます。左のプロジェクト一覧でこのブックの[Microsoft Excel Objects]にある「Sheet番号(練習)」をダブルクリックし、コードを貼り付けます。
- 3
F5では実行せず、VBEでCtrl+Gを押してイミディエイトウィンドウを開きます。Excelに戻ってA1を2に変更し、VBEに戻ると再計算の時刻が記録されています。