Home > 即効テクニック > Excel VBA > セル操作関連のテクニック > セル領域の操作−複数のセル領域

即効テクニック

セル操作関連のテクニック

セル領域の操作−複数のセル領域

(Excel 97/2000)
”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