Cellsについて
今回の目標
説明
前提
行と列について、よく分からない方・行が横のラインか縦のラインか忘れてしまった方は「『行』と『列』について」をお読みください。
基本構文
セルの指定方法である「Cells」の使用法です。
Cells(行, 列)
以前、説明しました「Range」と同じですが、セルの指定方法が異なります。「Range」では、「Range("A2")」と直接セルを指定していましたが、Cellsでは「何行目の何列目か」を数値で指定する必要があります。列数を数値にするときは、「A列=1」、「B列=2」「C列=3」「Z列=26」と指定します。なお。「AA列」は27列目です。対応表を下に用意したので参考にしてください。
セル | Rangeの指定方法 | Cellsの指定方法 |
---|---|---|
A1 | Range("A1") | Cells(1, 1) |
A3 | Range("A3") | Cells(3, 1) |
D1 | Range("D1") | Cells(1, 4) |
C11 | Range("C11") | Cells(11, 3) |
H9 | Range("H9") | Cells(9, 8) |
Z3 | Range("Z3") | Cells(3, 26) |
AA15 | Range("AA15") | Cells(15, 27) |
セルの値を取得する
Cellsを使用して、メッセージボックスでB1の値を表示させるプログラムです。
なお、B1に値が入力されていないと、メッセージボックス内に文章が表示されません。
なお、B1に値が入力されていないと、メッセージボックス内に文章が表示されません。
Sub Sample_Cells1()
'「Cells(1, 2)」は1行目の2列目(B1)を指す
MsgBox Cells(1, 2)
End Sub
Cellsを使用して、セルA10に数値「5」を代入するプログラムです。
Sub Sample_Cells2()
'「Cells(2, 1)」は2行目の1列目(A2)を指す
MsgBox Cells(2, 1)
End Sub
セルに値を格納する(セルの値を変更する)
Cellsを使用して、セルA1に数値「5」を代入するプログラムです。
Sub Sample_Cells3()
'「Cells(1, 1)」は10行目の1列目(A1)を指す
Cells(1, 1) = 5
End Sub
Cellsを使用して、セルA10に数値「5」を代入するプログラムです。
Sub Sample_Cells4()
'「Cells(10, 1)」は10行目の1列目(A10)を指す
Cells(10, 1) = 5
End Sub
Cellsを使用して、セルC1に文字列「ABC」を代入するプログラムです。
Sub Sample_Cells5()
'「Cells(1, 3)」は 1行目の3列目(C1)を指す
Cells(1, 3) = "ABC"
End Sub
セルに他のセルの値を入れる
Cellsを使用して、セルA1にセルA2を代入するプログラムです。
Sub Sample_Cells6()
'「Cells(1, 1)」は1行目の1列目(A1)、「Cells(1, 2)」は1行目の2列目(B1)を指す
Cells(1, 1) = Cells(2, 1)
End Sub
Cellsを使用して、セルB3にセルE2を代入するプログラムです。
Sub Sample_Cells7()
'「Cells(3, 2)」は3行目の2列目(B3)、「Cells(2, 5)」は1行目の2列目(E2)を指す
Cells(3, 2) = Cells(2, 5)
End Sub
CellsとRange
CellsとRangeで同じA1の値の操作が可能です。必ず両方使えるようにしましょう。Rangeは直感的ですが、メインはCellsを使用することになります。RangeはCellsで実現できない場合に使用する、と言っても過言ではありません(今回は説明しませんが、「範囲の指定」をするときにRangeを使用します)。
なお、CellsとRangeを同時に使用することもできます。
次は、セルD3にセルB2の値を格納しています。
Sub Sample_Cells8()
'「Cells(3, 4)」は3行目の4列目(D3)を指す
Cells(3, 4) = Range("B2")
End Sub
確認テスト
次の問いにCellsを使用して答えなさい。
- セルD1に数値「50」を代入しなさい。
- セルD2に文字列「加藤」を代入しなさい。
- セルD3にセルD1の値を代入しなさい。
- セルD1に数値「30」を代入、セルD2に文字列「上村」を代入しなさい。