Excelでセルに何かを入力した後に、何かしらの処理をしたいときの記録です。
VBAで「Change」イベントを使います。
< スポンサーリンク >
「Change」イベントの書き方
VBEでオブジェクト欄の「(General)」と表示してあるプルダウンの部分を「Wordsheet」を選択します。
プロシージャ欄を「Change」を選択します。
「SelectionChange」の部分は削除します。
「Private Sub Worksheet_Change(ByVal Target As Range)」と「End Sub」の間に処理したい内容を書きます。
Private Sub Worksheet_Change(ByVal Target As Range)
処理
End Sub
「Change」イベント使用例
値が変更されたセルのアドレスをメッセージで表示してみます。
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
End Sub
「行が5~10行、列が5~10列目だったら変更されたセルのアドレスをメッセージで表示する」にしてみます。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 5 And Target.Row <= 10 And Target.Column >= 5 And Target.Column <= 10 Then
MsgBox Target.Address
End If
End Sub
行が5~10行、列が5~10列目なのでメッセージが表示されます。
行が5~10行、列が5~10列目ではないので、メッセージは表示されません。
こんな記事も書いています