- ベストアンサー
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 ------------------------- などとしてもうまくいきません。 構文が良くわかっていないので困っています。 「アクティブセルが○○なら」という部分を教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
If Not Intersect(ActiveCell, Range("A1:A5")) Is Nothing Then MsgBox "A1:A5がアクティブです" Else MsgBox "A1:A5がアクティブではありません" End If
その他の回答 (2)
- hana-hana3
- ベストアンサー率31% (4940/15541)
>ActiveCell = Range("A1:A5") と言う判定は出来ません。 If ActiveCell.Row <= 5 And ActiveCell.Column = 1 Then
お礼
ありがとうございます。 また一歩理解が進みました!
- zap35
- ベストアンサー率44% (1383/3079)
例えば If ActiveCell.Column = 1 And ActiveCell.Row < 6 Then のようなIF文にすればとりあえず判定することができます 実際には複数セルを選択しているとか、複数のエリアを判定しているとか、もう少し条件判定を入れる必要があるかもしれませんが…
お礼
ありがとうございます。 「Column」「Row 」の使い方がわかりました。 早速やってみます。
お礼
具体的な記述まで、ありがとうございます。 大変助かりました。