Excel VBAでセルを選択したと同時に、何かしらの処理をしたいときがあります。
セル選択時の処理は「SelectionChange」を使うと便利です。
< スポンサーリンク >
「SelectionChange」イベント構文
ワークシートで選択範囲を変更したときに発生します。
式.SelectionChange(Target)
Target = 新しい選択範囲が渡されます。
「SelectionChange」イベント
VBEでオブジェクト欄の「(General)」と表示してあるプルダウンの部分で「Wordsheet」を選択します。
プロシージャ欄に「SelectionChange」が選択され、自動で「Private Sub・・・~・・・End Sub」が書き込まれます。
※選択されていない場合は「SelectionChange」を選択する。
VBAでセル選択時の処理例
選択されたセルの行番号、列番号をメッセージで表示してみます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox “行:” & Target.Row & Chr(13) & “列:” & Target.Column
End Sub
セルを選択すると、行番号と列番号のメッセージが表示されました。
セルが結合されている時
セルが結合されている部分をクリックすると、エラーになります。
セルが何個あるか「Target.Count」を使って調べると、結合されているのか、1つのセルなのかがわかります。
結合されているセルだったら一番左上のセルの値を、1つのセルだったらそのセルの値をメッセージで表示してみます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim v As Variant
If Target.Count > 1 Then
v = Target(1).Value
Else
v = Target.Value
End If
MsgBox v
End Sub
こんな記事も書いています