はじめに
VBA を書いていると、処理対象の Selection オブジェクトが、想定しているものであるかどうか調べたいことがあります。
図形が選択されているか判定する-VarType関数・ShapeRangeプロパティ:エクセルマクロ・Excel VBAの使い方/DrawingObjectsオブジェクト
セル範囲が選択状態にあるかどうかを判定するものは見つかりませんでした。「図形が選択されていなければ」という判定では不十分の可能性があります。グラフオブジェクトかもしれませんしね。
ということで「セルまたはセル範囲が選択されている状態であるかどうか」を
VBA ソースコード
アドレスを取得してみて、エラーが出なければ True を返すようにしています。
Function IsCellRangeSelect() As Boolean On Error Goto ErrHandle Dim abr As String adr = Selection.Address IsCellRangeSelect = True Exit Function ErrHandle: Err.Clear IsCellRangeSelect = False End Function