Article

セルをクリックするたびに再計算が行われるVBAマクロの設置

この記事で分かること

Excelでセルをクリックするたびに再計算を実行するVBAマクロの設置方法と使いどころを整理します。

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

ExcelでRAND関数やNOW関数のように変化する計算式を使用している場合、セルをクリックするたびに再計算を行いたいことがあります。今回は、セルをクリックするたびにワークシート全体が再計算されるVBAマクロの設置方法について詳しく解説します。

 VBAエディターを開く

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

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

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

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

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

 VBAコードを入力

開いたコードウィンドウに以下のコードを入力します。このコードは、セルをクリックするたびにワークシート全体を再計算します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' ワークシート全体を再計算
    Me.Calculate
End Sub

コードを保存

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

動作確認

Excelに戻り、ワークシート内の任意のセルをクリックして、再計算が行われることを確認します。

注意

このVBAコードを挿入するとこのシート上ではコピーペーストができなくなります。セルクリック時に再計算をし、コピーしたデータが解放されてしまいます。このシートでもコピーペーストをしたい場合には「クリップボード」を起動してください。

補足: クリック時に再計算したくなる典型例は、RAND / NOW / TODAY のような 揮発性関数 を使ったセルの値を更新したいケースです。どの関数が揮発性として扱われるかは Excelの揮発性関数とは?一覧と「ブックが重い」原因の見分け方 で整理しています。

Next Read

このあと読む記事

今の内容に近い記事から、次の1本と補助記事を続けて見つけられるようにしています。

Keep Exploring

このテーマをさらに探す

同じテーマの入口記事と更新記事を、一覧の形でまとめています。

コメント