← コード一覧へ戻る
実務イベント

再計算されたときマクロを自動実行する

シートが再計算されたら、イミディエイトウィンドウに時刻を記録します。

実行前に確認

  • 自動計算が有効な環境で試します。セルの変更箇所はTargetとして渡されません。

1サンプルコード

Private Sub Worksheet_Calculate()
    Debug.Print "再計算: " & Now
End Sub

図で見る操作の流れ

イメージ図

コードに沿った概念図です。実際の画面や実行結果ではありません。

  1. 手動:準備

    「練習」のシートモジュールへ配置。A1=1、B1に=A1*2、自動計算にする

  2. 手動:値を変える

    A1を2に変更してシートを再計算させる

  3. マクロ:記録

    Worksheet_Calculateが「再計算: 」とその時刻を出力

  4. 手動:確認

    VBEのCtrl+Gで出力を見る

F5で直接実行しません。変更セルの番地を受け取るイベントではなく、セルへ時刻を書き込む処理でもありません。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。シート名を「練習」にし、A1に1、B1に=A1*2を入力します。計算方法を[自動]にします。

  2. 2

    Alt+F11でVBEを開きます。左のプロジェクト一覧でこのブックの[Microsoft Excel Objects]にある「Sheet番号(練習)」をダブルクリックし、コードを貼り付けます。

  3. 3

    F5では実行せず、VBEでCtrl+Gを押してイミディエイトウィンドウを開きます。Excelに戻ってA1を2に変更し、VBEに戻ると再計算の時刻が記録されています。

使っている機能の公式ドキュメント(Microsoft Learn)