教えて!ExcelVBA!

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

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

f:id:m_kbou:20200418100539p:plain

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

 

 

構文

 (1)Cellsの記述方法

以下の様に記述します。

Cells

[説明]:

Cellsでセルを指定する場合には、に対象となるセルの行を数値で記述します。例えば、対象セルが2行目であれば2を記述します。また、には対象となるセルの列を記述しますが、数値又はアルファベットのいずれかで記述します。例えば、対象のセルがC列であれば、アルファベットでの記述では”C”(文字列での記述をする場合は、”(ダブルクォーテーション)でくくります)となり、数字での記述では、対象のセルが最左列から数えて(A列から数えて)何番目に値するのかを指定します。よって、A列から数えて3番目に値するため3を指定します。

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

(2)Rangeの記述方法

以下の様に記述します。

Range("")

[説明]:

Rangeでセルを指定する場合には、に対象となるセルの列をアルファベットで記述します。例えば、対象のセルがC列であればCで記述します。また、には対象となるセルの行を数値で記述します。例えば、対象のセルが2行目であれば2を記述します。最後に、列と行を合わせた文字を”(ダブルクォーテーション)でくくります。

[記述例]:
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記述をお勧めしたいと思います。

 

紹介動画

youtu.be