複数のセルを併せて参照する(Unionメソッド)|Excel VBA |
複数のセル範囲を集合させ、1つのオブジェクトのように参照することができます。
既存のセル範囲に新しいセル範囲を追加して、併せて参照したい場合に便利です。
複数のセル範囲はRangeプロパティを使って
Range("A1,B2,C3").Select
のように指定することもできますが、Rangeプロパティの引数に指定する文字列には文字数制限があるので、セルやセル範囲の数が多い場合にもUnionメソッドを使うと良いでしょう。
構文 Object.Union(Arg1, Arg2, ...)
設定項目 | 内容 |
---|---|
Object | Applicationオブジェクト [省略可能] |
Sub UnionSamp1()
Dim i As Long
Dim myRange As Range
'セルC1をmyRangeに格納
Set myRange = Cells(1, 3)
'3行目から2行間隔で9行目までループ
For i = 3 To 9 Step 2
Set myRange = Union(myRange, Cells(i, 3)) '---(1)
Next i
'myRangeを選択
myRange.Select
End Sub
サンプルの結果を見てください。サンプルでは1行目から9行目まで、1行おきにC列のセルを選択しています。選択されたセルがUnionメソッドで返されたセルの集合です。(1)のステートメントで既存のセル範囲であるmyRangeに新しいセル範囲を追加し、そのセル範囲の集合を新しくmyRangeに格納しています。