セル、表を参照する(Rangeオブジェクト)

セルを参照する

Rangeオブジェクトの要素には、セルや行、列、セルの選択範囲などがあり、 RangeメソッドやCellsメソッドにより参照できます。なお、対象のワークシートはアクティブになっている必要があります。
セル参照の例

Range("A1")セルA1
Range("A1,C3")セルA1とC3
Range("A1:C3")セルA1~C3の範囲
Range("1:3")行1~3
Range("A:C")列1~3
Range(Cells(1,1),Cells(3,3))セルA1~C3の範囲
Cells(2,3)セルC2
Cells(1,"A")セルA1
*(1,1)などのインデックスには変数を使用できます。
使用例
Range("A1").Value="Excel"セルA1に「Excel」と入力する


セルを選択する

セルやセル範囲を選択するにはSelectメソッド、セルをアクティブにするにはActivateメソッドを使用します。
構文
オブジェクト.Select
オブジェクト.Activate


参照のプロの図
結果
結果の図


表全体を参照する

CurrentRegionプロパティを使用すれば、表全体を選択できます。最初に見出しなど、必ずデータがあるセルを指定する必要があります。
構文
オブジェクト.CurrentRegion


参照のプロの図
結果
結果の図
なお、表の隣接セルにデータがあると、そのセルも含めた長方形のセルが選択されてしまいます。
結果の図
また、データの全く無い行などがあると、その手前までが選択されます。
行や列に空きがあっても全ての表を選択するには、UsedRangeを使用します。

参照のプロの図
結果
結果の図


表のセル数、行数、列数を求める

Countプロパティを使用すれば、セル数、行数、列数を求めることが出来ます。

参照のプロの図
結果
結果の図


表の終端のセルを参照する。

Endプロパティを使用すれば、表の終端のセルを参照できます。
構文
オブジェクト.End(Direction)

Directionの設定

xlDown下端
xlUp上端
xlToRight右端
xlToLeft左端
ただし、途中に空白のセルがあると、一つ手前のセルが選択されてしまいます。

Range("B2").End(xlDown).Select  列Bの下端に移動する。
B列にデータがあるので、B2を指定しています。
結果の図

空白セルがあっても最終行を選択するには、
Cells(Rows.Count, 2).End(xlUp).Select
でできます。

また、表の最終行を求めたい時がありますが、
Cells(Rows.Count, 2).End(xlUp).Row
で出来ます。
ここで、Rows.Countはシートの行数を表し、2010なら1048576となります。データがあるのがB列なので、B列の最終行から 上に向かって表の最終行を求めています。

参照のプロの図
結果
空白行があっても、最終行がカウウントされています。
結果の図

最後に例

1行おきにセルに色を付けています。
表内のセルをクリックしてアクティブにしてから実行しています。
参照のプロの図
結果
結果の図


Excel VBAのチップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system