Home » Excel VBA Rangeオブジェクト » VBAでセルが選択されているかを判定する-TypeName関数

VBAでセルが選択されているかを判定する-TypeName関数

対象:Excel2010, Excel2013, Windows版Excel2016

VBAでセルが選択されているかを判定する

「if vba セルが選択されているとき」
といった検索キーワードに気づきました。

セルが選択されているかどうかをExcel VBAで判定するには、どうすればいいのか探していらした方による検索です。

[スポンサードリンク]

セルが選択されているかを判定するサンプルマクロ

以下のSubプロシージャが参考になるでしょう。

Sub セルが選択されているかを判定する()
 Dim type_ As String

 type_ = TypeName(Selection)

 If type_ = "Range" Then
  MsgBox "セルが選択されています!"
 Else
  MsgBox "セルではなく、" & type_ & " が選択されています。"
 End If
End Sub

セルが選択されているときは「セルが選択されています!」、セル以外のものが選択されている場合には、「セルではなく、〇〇 が選択されています。」とメッセージが表示されます。

サンプルマクロの解説

TypeNameは、引数に指定されたものの、データ種別を表す文字列を返すVBAの関数です。

VBAでセルが選択されているかを判定する

Selectionは、マクロ記録機能をよく使う方にはおなじみの、選択されているものによって返すオブジェクトが変化するプロパティです。

VBAでセルが選択されているかを判定する

セルが選択されているときに、TypeName関数の引数にSelectionが指定されると、クラス名(オブジェクト名)の文字列「Range」が返されますので、
  type_ = TypeName(Selection)
  If type_ = "Range" Then
   MsgBox "セルが選択されています!"
と判定を行っています。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » VBAでセルが選択されているかを判定する-TypeName関数

「Excel VBA Rangeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.