電子書籍の厳選無料作品が豊富!

エクセル2000です。
Intersectで範囲の記述で、名前が定義された範囲、myRng と その2列右どなりを指定したいのですが、

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("myRng"), Range("myRng").Offset(, 2))) Is Nothing Then Exit Sub
MsgBox Target.Address
End Sub

のようにUnionを使わなければできないでしょうか?
myRngがA1:A10であれば、

If Intersect(Target, Range("A1:A10,C1:C10")) Is Nothing Then Exit Sub

と簡単に記述できるのですが。

A 回答 (1件)

こんにちは。



If Intersect(Target, Range("myRng,C1:C10")) Is Nothing Then Exit Sub

とすればよいと思いますが、それではよろしくないのでしょうか?

この回答への補足

一応自己解決しました。
If Intersect(Target, Range("myRng, Range("myRng").Offset(, 2).Address")) Is Nothing Then Exit Sub
ですね。

Union使っても長さ変わりませんね。

補足日時:2009/08/15 17:43
    • good
    • 0
この回答へのお礼

さっそくありがとうございます。
質問が言葉足らずでしたね、すみません。
C1:C10のようなアドレスではなくRange("myRng").Offset(, 2)のようにあくまでRange("myRng")を使って指定する場合の書き方です。
ごめんなさい。

お礼日時:2009/08/15 17:27

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