セル領域の操作−複数のセル領域
”Range("A1:d5")とRange("F7:G11")とRange("I12:K17")”というような、シート上の
複数のセル領域をVBAで扱う場合、分割されたそれぞれの領域を取得するにはAreas
プロパティーを用います。例えば・・・

    Dim i As Integer, R As Integer, C As Integer
    Dim Rng As Range

    Range("A1:d5,F7:G11,I12:K17").Select

としたあとで、選択範囲のすべての行数を数えるために・・・

    Selection.Rows.Count

としても、3つのセル領域の行の合計は得られません。このような場合にはAreasプロ
パティーを利用して、それぞれのArea(分割されたセル領域)について行数、列数など
を数える必要があります。

■複数のセル領域の行列を数えるには■
Sub GetAreas()

    Dim i As Integer, R As Integer, C As Integer

    Range("A1:d5,F7:G11,I12:K17").Select

    With Selection
        For i = 1 To .Areas.Count
            R = R + .Areas(i).Rows.Count
            C = C + .Areas(i).Columns.Count
        Next i
    End With

    MsgBox "行 : " & R & vbCrLf & "列 : " & C

End Sub

Excel97/2000



戻る


Excel Word Access VBA! モーグ