Excelのセルの値をVBAで取得する方法をご紹介します。セルの値を自在に取得できるようになると、複数セル・シートの集計を自動的に行うことができるので大変便利です。

Rangeでセルの値を取得

まずはVBEに下記のコードを入力してください。
【VBA入門】セルの値を取得する方法
赤線部分はA1セルの内容をメッセージボックスに表示するという意味のコードです。
Range()の中にセルの座標を入力するのですが、ダブルクォートで囲むことを忘れないように注意しましょう。コードを実行すると下記の様に表示されます。
【VBA入門】セルの値を取得する方法
セルA1の内容がメッセージボックスに表示されましたね。

Cellsでセルの値を取得

次にCellsというコードを使ってセルの値を取得してみましょう。コードと実行例は下記の通りです。
【VBA入門】セルの値を取得する方法
【VBA入門】セルの値を取得する方法
今度はCellsというコードの()の中にセルの行数と列数をカンマで区切って入力します。行数はシート上に数字で表示されていますが、列数はA列・B列・C列・・の順番に1・2・3・・と数えていきます。Cellsは連続したセルをループ処理で取得する場合などに効率的なのでぜひ覚えておきましょう。

他のシートのセルを取得

それではより実践的に、シートからシートへ値を転記してみましょう。下記の例では【上半期】シートの値と【下半期】シートの値を【年間合計】シートへ入力しています。
○上半期シートの内容
【VBA入門】セルの値を取得する方法
○下半期シートの内容
【VBA入門】セルの値を取得する方法
○年間合計シートの集計結果
【VBA入門】セルの値を取得する方法
○コード
【VBA入門】セルの値を取得する方法
シート名はSheets()内にダブルクォートで囲んで入力します。そしてドット“.”で値を取得したいセルと繋げて表記してください。Range内に範囲を指定することで複数のセルの値を一気に取得することができますよ。
また各シートの合計値は変数Goukeiに格納してから取得しています。この様に別々のシートの値を合計して取得する方法もぜひ使ってみてください。

まとめ

VBAでセルの値を取得するコードはRangeとCellsの2種類です。状況によって使い分けてより効率的で見やすいコードを記述するようにしましょう。