対象:Excel2010, Excel2013, Windows版Excel2016
「if vba セルが選択されているとき」
といった検索キーワードに気づきました。
セルが選択されているかどうかをExcel VBAで判定するには、どうすればいいのか探していらした方による検索です。
[スポンサードリンク]
セルが選択されているかを判定するサンプルマクロ
以下のSubプロシージャが参考になるでしょう。
Sub セルが選択されているかを判定する()
Dim type_ As String
MsgBox "セルが選択されています!"
Else
MsgBox "セルではなく、" & type_ & " が選択されています。"
End If
End Sub
Dim type_ As String
type_ = TypeName(Selection)
If type_ = "Range" ThenMsgBox "セルが選択されています!"
Else
MsgBox "セルではなく、" & type_ & " が選択されています。"
End If
End Sub
セルが選択されているときは「セルが選択されています!」、セル以外のものが選択されている場合には、「セルではなく、〇〇 が選択されています。」とメッセージが表示されます。
サンプルマクロの解説
TypeNameは、引数に指定されたものの、データ種別を表す文字列を返すVBAの関数です。
Selectionは、マクロ記録機能をよく使う方にはおなじみの、選択されているものによって返すオブジェクトが変化するプロパティです。
セルが選択されているときに、TypeName関数の引数にSelectionが指定されると、クラス名(オブジェクト名)の文字列「Range」が返されますので、
type_ = TypeName(Selection)
If type_ = "Range" Then
MsgBox "セルが選択されています!"
と判定を行っています。
[スポンサードリンク]
Home » Excel VBA Rangeオブジェクト » VBAでセルが選択されているかを判定する-TypeName関数