教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 基本操作】マクロやVBAでセル(Cells/Range)を指定する方法について教えて!

f:id:m_kbou:20200418100539p:plain

ExcelVBAではセルの操作抜きではプログラムが書けないほど、セル操作は重要になります。セルには数値や文字を入力するだけでなく、数式を入力したり、罫線や表示形式などの書式を設定したり等、プログラミングをする上で中核となる操作となります。セルを指定する方法は2つあり、一つは「Cells」で指定する方法ともう一つは「Range」で指定する方法になります。各々の使い方について紹介します。

 

 

構文

 (1)Cellsの記述方法

以下の様に記述します。

Cells([行],[列])

[説明]:

セルの指定方法です。

[行] セルの行を数値で記述します。
[列] セルの列を英字又は数値で記述します。
例:C列を指定する場合は
・英字の場合:”C”と記述します。
・数値の場合:3と記述します。

[記述例]:
Cells(2, "C")  又は Cells(2, 3)  

(2)Rangeの記述方法

以下の様に記述します。

Range("[列行]")

[説明]:

セルの指定方法です。

[列行] 列:セルの列を英字で記述します。
行:セルの行を数値で記述します。
※「”」(ダブルクォーテーション)で囲みます。

[記述例]:
Range("C2")

 

使い方

 以下にセルの使い方について、具体的に説明します。

Cellsを使用した記述方法

Cellsの記述方法について説明します。

[プログラミング例]:

Sub あいさつ()

  Cells(1, "A") = "おはようございます。"

End Sub

又は

Sub あいさつ()

  Cells(1, 1) = "おはようございます。"

End Sub

内容は、「”おはようございます。”をA1セルにセットして下さい。」との内容になります。

f:id:m_kbou:20210208120212p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210226061820p:plain

②結果は以下の様に表示されます。A1セルに「おはようございます。」が表示されます。

f:id:m_kbou:20210226061808p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

Cellsの記述方法についての説明は以上です。

 

Rangeを使用した記述方法

Rangeの記述方法について説明します。

[プログラミング例]:

Sub あいさつ()

  Range("A1") = "おはようございます。"

End Sub

内容は、「”おはようございます。”をA1セルにセットして下さい。」との内容になります。

f:id:m_kbou:20210208120234p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210226061853p:plain

②結果は以下の様に表示されます。A1セルに「おはようございます。」が表示されます。

f:id:m_kbou:20210226061908p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

Rangeの記述方法についての説明は以上です。

 

おわりに

上記の例では、Cells及びRangeのどちらの結果も一緒になります。どちらを使用するかは記述者によりマチマチですが、基本的にはCellsでの記述が一般的となるため、Cells記述をお勧めしたいと思います。