====== Excel VBAでセルを指定する方法 ======
このページでは、Excel VBAでセルを指定する方法をまとめる。
===== Excel VBAでセルを指定方法一覧 ===== ^参照結果^指定例^ |単一セルの指定|Range("A1")| |単一セルの指定。例では、シートの1列目、1行目のセル、すなわちA1セルを指定する。|Cells(1,1)| |複数セルの指定|Range("A1:C2")
Range(Cells(1,1),Cells(2,3))| |セル範囲|Range("A1:C2")| |列全体|Range("A:C")
Calumns("A:C")| |行全体|Range("1:3")
Rows("1:3")| |現在選択中のセル|ActiveCell| |現在の選択されているセル範囲|Selection| |領域の上端セル|End(xlUp)| |領域の下端セル|End(xlDown)| |領域の右端セル|End(xlToRight)| |領域の左端セル|End(xlToLeft)| Excel VBAでセルを指定するには2つの方法がある。 - Rangeオブジェクトを使用する - WorksheetsオブジェクトのCellsプロパティを使用する ===== Rangeオブジェクトでセルを指定する方法 ===== Rangeオブジェクトというセル範囲を扱うオブジェクトでセル、行・列を指定できる。 ==== Ramgeオブジェクトで単体セルを選択する ==== Sub sample() Dim rng As Range 'オブジェクト変数をレンジ型で宣言する。 Set rng = Sheet1.Range("C1") 'オブジェクト変数にSheet1のC1セルを代入する。 rng.Select 'C1セルを選択する。 End Sub ==== Rangeオブジェクトで指定セル範囲を選択する ==== Sub sample() Dim rng As Range 'オブジェクト変数をレンジ型で宣言する。 Set rng = Sheet1.Range("A1", "C1") 'オブジェクト変数にSheet1のA1~C1セル範囲を代入する。 rng.Select 'A1~C1セル範囲を選択する。 End Sub ===== WorksheetsオブジェクトのCellsプロパティを使用してセルを指定する方法 ===== Cellsプロパティ内で行番号と列番号を指定することでRangeオブジェクトを取得できる。 ==== Cellsプロパティで単体セルを選択する方法 ==== Sub sample() Dim rng As Range 'オブジェクト変数をレンジ型で宣言する。 Set rng = Sheet1.Cells(3, 2) 'オブジェクト変数にSheet1の3行目、2列目のセル(B3セル)を代入する。 rng.Select 'B3セルを選択する。 End Sub ==== CellsプロパティとFor Next文を組み合わせる ==== CellsプロパティとFor Next文を組み合わせて、繰り返しセルを選択することができる。 === コマンド === Sub sample() Dim i As Long ' For Next文のカウント用の変数をロング型で宣言する。 For i = 1 To 10 Dim rng As Range 'オブジェクト変数をレンジ型で宣言する。 Set rng = Sheet1.Cells(i, 1) 'オブジェクト変数にSheet1の指定セルを代入する。 Debug.Print rng.Address 'イミディエイトウィンドウに指定セルのアドレスを出力する。 Next i End Sub === 出力結果 === $A$1 $A$1 $A$2 $A$3 $A$4 $A$5 $A$6 $A$7 $A$8 $A$9 $A$10