Excel VBA

[Excel VBA] セルの取得方法 [RangeとCells]

2020年3月6日

 

 

本記事はエクセル2019で動作確認を行っています。

練習問題は必ずご自身で記述することが、習得への近道です。

 

困ってます
セルの参照の仕方はRangeかCellsどちらを使えばいいかわかりません。

 

本記事はこのような疑問にお答えします。

 

結論。どちらを使用してもなんら問題ありません。

ただ、RangeもCellsも使い方によりメリットがあるので解説します。

 

 

ExcelVBAのコードを書く時に、まず基本になるのがセルの扱い方です。

エクセルはセルを記入したり移動させたりしながら、データを完成させますよね。

 

セルの値は

・Range

・Cells

のどちらかで記述していきます。

 

順番に見ていきましょう。

 

Rangeでセルを扱う

 

Rangeはセル番地を直接書く表示の仕方です。

 

Range(“ セル番地“)

 

例えば「C2のセルにVBA」と記述したいときは、

Range(“C2”).value=”VBA”

と記述します。

 

Rangeの後にセル番地をカッコで囲むことで、セルの場所を理解させます。

A1は文字列になるので「“(ダブルクォーテーション)」で囲ってあげましょう。

 

セルの範囲は複数指定したい場合が実務ではもちろんあります。

いろんなRangeの使い方をまとめています。

 

書き方 セルの範囲
Range(“A”)   A1セル
Range(“A1,E1”)  A1とE1のセル
Range(“A1:E5”)  A1~E5のセル
Range(“A1”,”C3”) A1~C3のセル
range(cells(1,1),cells(2,2)) A1~B2のセル  ※おすすめ
Range(“A1:C3,E1:G3”)  A1~C3とE1~G3

 

Rangeを使用するメリットは見てすぐにセル番地がわかるところです。

 

 

Cellsでセルを扱う

 

Rangeは一目でセル番地が分かるのに対して、Cellsは行番号と列番号を使いセルの位置を把握します。

Cells(行,列)

 

Rangeと同じように「C2のセルにVBA」と記述するを例にとると、

Cells(2,3).value=”VBA”

となります。

 

2は下に2下がり、Cは横に3進むのでこのような記述の仕方です。

 

Cellsも複数の書き方があり、

書き方 セルの範囲
Cells(2,3) C2セル
Cells(2,”C”) C2セル
Cells すべてのセル

 

Cellsは見た目にはすぐにセル番地が分かりません。

しかし、行と列が数字に分かれていることにより、それぞれの数字を変数にすることで都合がよくなることがあります。

今後ExcelVBAの学習を進めるにあたり、繰り返し処理で役に立ちます。

変数について詳しくはこちら

 

2種類の書き方があるということを頭に置き、臨機応変な選択を行いましょう。

 

 

練習問題

 

練習問題

RangeとCellsを使い2パターンの記述をしましょう。

B2セルにHello World!と記入してください。

 

 

 

<解答>

Sub セルの練習1

  Range(“B2”).value=”Hello World!”

End Sub




Sub セルの練習2

  Cells(2,2).value=”Hello World!”

End Sub

うまく表示できましたか?

 

今回はこの辺りで。

最後まで目を通していただきありがとうございました。

 

 

-Excel VBA
-

Copyright© Ronpeee blog , 2023 All Rights Reserved.