特定のセルが変わったときにマクロを実行する方法

普通、Excelのマクロは、ボタンを押したり、メニューから選択したときに実行されます。
ワークシートが変わったときに自動的にマクロを実行するようにすることもできます。
その方法は次の通りです。

  1. 開発-VisualBasicを開く。
  2. プロジェクトエクスプローラ(左側)で、該当のシートをダブルクリック。
  3. コード(右側)のオブジェクト(「(General)」となっている)から「Worksheet」を選択。
  4. プロシージャ(「(Declarations)」となっている)から「Change」を選択。
  5. コードを書く。
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 3 And Target.Column = 8 Then
        Call プロシージャ
    End If
End Sub

このように書くと3行目8列目のセルが変わったときに指定したプロシージャが動作します。
もしIfを使わないとそのシートのどこかのセルが変わったときに動作します。何かをやる度にプロシージャが動作してしまうので意図しない動きをするかもしれません。

コメント

  1. […] 面白そうなのでマクロを作ってみました。特定のセルが変わったときにマクロを実行する方法を使います。 セルA1:A50の範囲で文字を入力します。 5文字を超えると自動的に5文字でカットし、超えた部分を下のセルにセットします。 […]

タイトルとURLをコピーしました