EXCEL VBA で範囲を複数選択する(UNIONの活用) - 大人の自由研究

大人の自由研究 ホーム » PC » EXCEL VBA で範囲を複数選択する(UNIONの活用)

EXCEL VBA で範囲を複数選択する(UNIONの活用)

 備忘録メモだす

 EXCEL の VBA でマクロ作成中に悩んだ事。

 Range("A1:C3,B6:D9,C13:D15").Select
 こんな感じで複数の範囲を指定したい場合がある

 セル名称指定だと、??:??,??:??,… と指定すれば簡単だが、変数を使った場合にどう指定するんか?

' ----- A1:C3
a_x1 = 1
a_y1 = 1
a_x2 = 3
a_y2 = 3

' ----- B6:D9
b_x1 = 2
b_y1 = 6
b_x2 = 4
b_y2 = 9

' ----- C13:D15
c_x1 = 3
c_y1 = 13
c_x2 = 4
c_y2 = 15

Dim myRange As Range

Set myRange = Range(Cells(a_y1, a_x1), Cells(a_y2, a_x2)) ' A1:C3
Set myRange = Union(myRange, Range(Cells(b_y1, b_x1), Cells(b_y2, b_x2))) ' B6:D9
Set myRange = Union(myRange, Range(Cells(c_y1, c_x1), Cells(c_y2, c_x2))) ' C13:D15

myRange.Select


 または、

Set myRange = Union( Range(Cells(a_y1, a_x1), Cells(a_y2, a_x2)) , _
Range(Cells(b_y1, b_x1), Cells(b_y2, b_x2)) , _
Range(Cells(c_y1, c_x1), Cells(c_y2, c_x2)))

 でもOK。
関連記事
スポンサーサイト
コメント(管理者承認後に公開します)

※未入力可能。メールアドレスは公開されますので、ご注意ください。
非公開コメント

トラックバック

http://ukkey3.blog33.fc2.com/tb.php/374-6576f19b