プロが教えるわが家の防犯対策術!

下記のようなことを行いたいのですが、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
-------------------------
などとしてもうまくいきません。

構文が良くわかっていないので困っています。
「アクティブセルが○○なら」という部分を教えていただけると助かります。

A 回答 (3件)

If Not Intersect(ActiveCell, Range("A1:A5")) Is Nothing Then


MsgBox "A1:A5がアクティブです"
Else
MsgBox "A1:A5がアクティブではありません"
End If
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/20 20:40

>ActiveCell = Range("A1:A5")



と言う判定は出来ません。

If ActiveCell.Row <= 5 And ActiveCell.Column = 1 Then
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/20 20:39

例えば


If ActiveCell.Column = 1 And ActiveCell.Row < 6 Then
のようなIF文にすればとりあえず判定することができます

実際には複数セルを選択しているとか、複数のエリアを判定しているとか、もう少し条件判定を入れる必要があるかもしれませんが…
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/20 20:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!