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」を代入しなさい。
    2. セルD2に文字列「加藤」を代入しなさい。
    3. セルD3にセルD1の値を代入しなさい。
    4. セルD1に数値「30」を代入、セルD2に文字列「上村」を代入しなさい。
    解答1 解答2 解答3 解答4

    関連リンク

    ページの先頭へ