”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
|