特定の範囲をクリックするたびに再計算が行われるVBAマクロの設置

Excelで特定の範囲をクリックするたびに再計算が行われるVBAマクロの設置方法

ExcelでRAND関数やNOW関数を使用している場合、特定の範囲をクリックするたびに再計算を行いたいことがあります。今回は、特定の範囲をクリックするたびに再計算が行われるVBAマクロの設置方法について詳しく解説します。

VBAエディターを開く

まず、ExcelのVBAエディターを開きます。以下の手順に従ってください。

  1. Excelを開き、再計算を行いたいワークシートを選択します。
  2. Alt + F11 を押してVBAエディターを開きます。

対象ワークシートのコードウィンドウを開く

次に、再計算を行いたいワークシートのコードウィンドウを開きます。

  1. 左側の「プロジェクトエクスプローラー」から対象のワークシート(例:Sheet乙)を選択し、ダブルクリックします。

VBAコードを入力

開いたコードウィンドウに以下のコードを入力します。このコードは、名前付き範囲(例:”MyRange”)をクリックするたびに再計算を実行します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' 名前付き範囲をクリックしたときのみ再計算
    If Not Intersect(Target, Me.Range("MyRange")) Is Nothing Then
        Me.Calculate
    End If
End Sub

また次のコードは、指定したセル範囲(例:B3:B11)をクリックするたびに再計算を実行します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' 特定のセル範囲をクリックしたときのみ再計算
    If Not Intersect(Target, Me.Range("B3:B11")) Is Nothing Then
        Me.Calculate
    End If
End Sub

コードを保存

VBAエディターを閉じて、変更を保存します。

動作確認

Excelに戻り、指定した名前付き範囲(例:”MyRange”)もしくはセル範囲(例:”B3:B11″)をクリックして、再計算が行われることを確認します。

この方法を使用すると、Excelで指定した名前付き範囲をクリックするたびに再計算が行われます。これは、RAND関数や他の動的関数を使用する際に非常に便利です。簡単なVBAコードを使用することで、Excelの機能を拡張し、効率的な作業を実現することができます。

コメント