• ベストアンサー

VBAでセル範囲条件の指定

下記のようなことを行いたいのですが、VBAの記述でうまくいかなくて困っています。 ----------------------- もし、現在選択中のセルがA1からA5の範囲にあるならば→「実行1」を行う もし、A1からA5の範囲内にないなら「実行2」を行う ------------------------ たったのこれだけのことなのですが、「A1からA5の範囲」を指定する方法がよくわかりません。 ------------------------ Sub セル範囲判定() If ActiveCell = Range("A1:A5") Then MsgBox "A1:A5がアクティブです" Else MsgBox "A1:A5がアクティブではありません" End If End Sub ------------------------- などとしてもうまくいきません。 構文が良くわかっていないので困っています。 「アクティブセルが○○なら」という部分を教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

If Not Intersect(ActiveCell, Range("A1:A5")) Is Nothing Then MsgBox "A1:A5がアクティブです" Else MsgBox "A1:A5がアクティブではありません" End If

shunshun-dash
質問者

お礼

具体的な記述まで、ありがとうございます。 大変助かりました。

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>ActiveCell = Range("A1:A5") と言う判定は出来ません。 If ActiveCell.Row <= 5 And ActiveCell.Column = 1 Then

shunshun-dash
質問者

お礼

ありがとうございます。 また一歩理解が進みました!

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

例えば If ActiveCell.Column = 1 And ActiveCell.Row < 6 Then のようなIF文にすればとりあえず判定することができます 実際には複数セルを選択しているとか、複数のエリアを判定しているとか、もう少し条件判定を入れる必要があるかもしれませんが…

shunshun-dash
質問者

お礼

ありがとうございます。 「Column」「Row 」の使い方がわかりました。 早速やってみます。

関連するQ&A

専門家に質問してみよう