← コード一覧へ戻る
実務Excel・Windows連携

指定したセルだけ再計算する(Range.Calculate)

Range.Calculateで、ブック全体ではなく指定したB1の計算を要求します。

実行前に確認

  • 実行するたびにシートを追加します。他の未計算セルに依存する数式では、必要な依存範囲の計算も検討してください。
  • 公開前にコードと公式仕様を照合していますが、Excel実機での動作は未確認です。コピーしたブックで試してください。

1サンプルコード

Option Explicit

Sub PracticeAdvanced8023()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets.Add
    ws.Range("A1").Value = 4
    ws.Range("A2").Value = 6
    ws.Range("B1").Formula = "=SUM(A1:A2)"
    ws.Range("B1").Calculate
    MsgBox ws.Range("B1").Value
End Sub

図で見る操作の流れ

イメージ図

この例の準備と結果を示す模式図です。

  1. 準備

    練習用ブックの標準モジュールにコードを配置

  2. 操作

    Range.Calculateで、ブック全体ではなく指定したB1の計算を要求します。

  3. 結果

    新しい練習シートのB1が10になり、メッセージにも10と表示されます。

実行するたびにシートを追加します。他の未計算セルに依存する数式では、必要な依存範囲の計算も検討してください。

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

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

    練習用のマクロ有効ブックを開き、Alt+F11→[挿入]→[標準モジュール]へコードを貼り付けます。

  2. 2

    PracticeAdvanced8023を実行します。

  3. 3

    Range.Calculateで、ブック全体ではなく指定したB1の計算を要求します。

  4. 4

    新しい練習シートのB1が10になり、メッセージにも10と表示されます。

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