セル領域の操作−セル領域の集合とRange
書式設定を行う際など、複数のセル領域をまとめて処理したい場合には、Union
メソッドを用い、セル領域の集合に対して処理を行います。

■複数のセル領域の集合を取得する■
Sub GetUnitedRange()

    Dim Rng1 As Range, Rng2 As Range, Rng3 As Range

    Set Rng1 = Range("A1:D5")
    Set Rng2 = Range("F7:G11")
    Set Rng3 = Range("I12:K17")

    MsgBox Union(Rng1, Rng2, Rng3).Address

End Sub

また、セルの集合ではなく、上記サンプルを例とすると、Rng1の左上端セル(A1)
からRng3の右下端セル(K17)まで、というような四角い1つのセル領域は、Range
プロパティーの第一引数に最初のセル領域、第二引数に最後のセル領域を指定する
ことで取得できます。

(基本)Range(セル1、セル2)※セル1、セル2は単一のセル、もしくはセル領域

	ex)Range(Cellls(1,1), Cells(5,5)).Address ⇒ セル領域(A1:E5)の取得

上記のサンプルであれば、

    Range(Rng1,Rng3).Select ’セル領域(A1:K17)の取得
    MsgBox Selection.Address

また、複数の選択範囲ならば、Areasプロパティーを利用します。
以下のサンプルでは複数のセル領域の最初と最後のAreaをRangeプロパティーの引数に
指定することで、選択範囲の左上端から右下端までのセル領域を取得します。

    With Selection
        Range(.Areas(1), .Areas(.Areas.Count)).Select
        MsgBox Selection.Address
    End With

Excel97/2000



戻る


Excel Word Access VBA! モーグ