3-1.セルのオブジェクト

セルを表すオブジェクトは、Rangeオブジェクトになります。
Rangeオブジェクトは、Range(“”)やCells(,)などで取得します。

Range(“”)の場合は、“”の中にセル番号を記述します。Range(“セル番号”)
 例)Range(“A1”)、Range(“B1:C2”)

Cells(,)の場合は、セルの行番号と列番号を数値で記述します。Cells(行番号,列番号)
 例)A1セルの場合:Cells(1,1)、B1セルの場合:Cells(1,2)

なお、セル番号は、列番号のアルファベット + 行番号の数値 で表しますが、
Cells(,)は、行番号が先、列番号が後の順で記述します。
なので、RangeとCellsでは、指定する行列の順番が逆になります。

<Rangeオブジェクトの取得方法一覧>
セルは、単一セルだったり、複数セルだったり、行列だったりと、範囲の種類がいろいろあります。
全てではありませんが、代表的な取得方法を下表に整理します。
なお、同じセル範囲を取得するコードは1つだけではなく、いろいろな記述の仕方があります。

分類セル範囲コード
単一セルA1Range(“A1”)
Cells(1,1)
[A1]
連続した複数セルA1:C5Range(“A1:C5”)
Range(“A1″,”C5”)
Range(Cells(1,1),Cells(5,3))
[A1:C5]
連続しない単一セルA1とC5Range(“A1,C5”)
連続しない複数セルA1:C5とE1:G3Range(“A1:C5,E1:G3”)
1行目Rows(1)
Range(“1:1”)
Range(“A1”).EntireRow
Cells(1,1).EntireRow
複数行全体1行目~3行目Rows(“1:3”)
Range(“1:3”)
Range(“A1:A3”).EntireRow
A列目Columns(“A”)
Range(“A:A”)
Range(“A1”).EntireColumn
Cells(1,1).EntireColumn
複数列A列~C列Columns(“A:C”)
Range(“A:C”)
Range(“A1:C1”).EntireColumn
その他アクティブなセル
選択中のセル
アクティブセル領域
ActiveCell
Selection
CurrentRegion

ActiveCellやSelectionは、選択しているセルを取得するものですが、
Selectionは、選択しているセル範囲全体を取得するのに対し、ActiveCellは、アクティブな単一セルを取得します。

アクティブなセルとは、処理対象の単一セルのことで、複数セルを選択しているときは、下図のように色が白いセルがアクティブセルになります。

CurrentRegionは、アクティブセル領域を取得するものです。
アクティブセル領域とは、空白な行及び列に囲まれた範囲のことで、あるセルまたはセル範囲から、最初にデータが空白になる行及び列までの範囲を指します。

エクセルでは、ショートカットキー Ctrl + Shift + * で、アクティブセル領域を選択できます。

アクティブセル領域は、”アクティブ領域内のいずれかのセル.CurrentRegion”で取得できます。
下図の例では、Range(“A1”).CurrentRegoinでもRange(“C3”).CurrentRegionでも同じ範囲を取得できます。

コメント