VBA Worksheet Changeイベント – セルが変更されたらマクロを実行する
Worksheet_Changeイベント
セルが変更されたときにマクロを実行したい場合があります。この機能をよく使うのは、カスタムコードでセルが変更された後に検証を行う場合です。これは、ワークシートオブジェクトの変更イベントを使用することで簡単に実現できます。 Visual Basicエディタで、まず、マクロを有効にするセルが変更されたシート名をダブルクリックする必要があります。そうすると、そのシートオブジェクトのコードウィンドウが表示されます。今回は、Sheet1のセルが変化したときにマクロを実行させたいと思います。
ワークシートのコードウィンドウを開いたら、Worksheet_Changeイベント内にコードを配置します。次の例では、セルA1の内容が変更された場合にメッセージボックスを表示します。まず、セルが変更されたらサブルーチンを起動し、IF..Thenステートメントを使用して、セルA1がIf…Thenに基づいて変更されたセルである場合にのみコードを実行するようにしています。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
MsgBox "セルA1が変更されるとこのコードが実行されます!"
End If
End Sub
Worksheet_Changeサブルーチンの中に直接コードを入れてもいいですし、そこから別のマクロを呼び出しても構いません。
VBAのコーディングが簡単に
VBAのコードをオンラインで検索するのはもうやめましょう。AutoMacro – A VBA Code Builderを使えば、初心者が最小限のコーディング知識でゼロから手順をコーディングできるだけでなく、ベテランのユーザーが時間を節約するのに役立つ多くの機能を備えています! もっと詳しく