[オブジェクト] Range

シート内のセルを指し、Worksheet オブジェクトに属します。範囲の指定方法について説明します。

単一の範囲

(1) Range("A1").Select

(2) Cells(1, 1).Select


連続した範囲

(3) Range("A1:B2").Select

(4) Range("A1", "B2").Select

(5) Range(Range("A1"), Range("B2")).Select

(6) Range(Cells(1, 1), Cells(2, 2)).Select


複数の範囲

(7) Range("A1,D1").Select

(8) Union(Range("A1"), Range("D1")).Select

(9) Union(Cells(1, 1), Cells(1, 4)).Select


連続した複数の範囲

(10) Range("A1:B2,D1:E3").Select

(11) Union(Range("A1:B2"), Range("D1:E3")).Select

(12) Union(Range(Range("A1"), Range("B2")), Range(Range("D1"), Range("E3"))).Select

(13) Union(Range(Cells(1, 1), Cells(2, 2)), Range(Cells(1, 4), Cells(3, 5))).Select


このように結果は同じでも複数の方法があります。Union メソッドは複数の範囲を集合させます。どのような範囲でも基本的には Range プロパティと Cells プロパティ のどちらでも使えますが、Range プロパティの方がセルの位置を理解しやすいでしょう。では Cells プロパティの利点はというと、多くの範囲を扱う場合です。例えば Y 列までの奇数番目の列の1行目のセルだけをまとめて選択するにはこうなります。

Sub Sample1()
  Dim i As Byte
  Dim rng As Range
  Set rng = Range("A1")
  For i = 3 To 25 Step 2
    Set rng = Union(rng, Cells(1, i))
  Next i
  rng.Select
End Sub