【セルの操作】Cellsについて

今回の目標

  • セルから値を読み取る
  • セルに値を入れる

説明

前提

行と列について、よく分からない方・行が横のラインか縦のラインか忘れてしまった方は「『行』と『列』について」をお読みください。

基本構文

セルの指定方法である「Cells」の使用法です。

Cells(行, 列)

以前、説明しました「Range」と同じですが、セルの指定方法が異なります。「Range」では、「Range("A2")」と直接セルを指定していましたが、Cellsでは「何行目の何列目か」を数値で指定する必要があります。列数を数値にするときは、「A列=1」、「B列=2」「C列=3」「Z列=26」と指定します。なお。「AA列」は27列目です。対応表を下に用意したので参考にしてください。

セルRangeの指定方法Cellsの指定方法
A1Range("A1")Cells(1, 1)
A3Range("A3")Cells(3, 1)
D1Range("D1")Cells(1, 4)
C11Range("C11")Cells(11, 3)
H9Range("H9")Cells(9, 8)
Z3Range("Z3")Cells(3, 26)
AA15Range("AA15")Cells(15, 27)

セルの値を取得する

Cellsを使用して、メッセージボックスで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を使用して答えなさい。

  1. セルD1に数値「50」を代入しなさい。

    【解答例】

    Sub TestCells1()
        Cells(1, 4) = 50
    End Sub
    
  2. セルD2に文字列「加藤」を代入しなさい。

    【解答例】

    Sub TestCells2()
        Cells(2, 4) = "加藤"
    End Sub
    
  3. セルD3にセルD1の値を代入しなさい。

    【解答例】

    Sub TestCells3()
        Cells(3, 5) = Cells(1, 4)
    End Sub
    
  4. セルD1に数値「30」を代入、セルD2に文字列「上村」を代入しなさい。

    【解答例】

    Sub TestCells4()
        Cells(1, 6) = 30
        Cells(2, 6) = "上村"
    End Sub
    

関連リンク

ページの先頭へ