まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

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

 f:id:m_kbou:20190515170715p:plain

マクロやVBAでセルを指定する方法は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の記述方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub あいさつ()
    Cells(1, "A") = "おはようございます。"
End Sub

又は

Sub あいさつ()
    Cells(1, 1) = "おはようございます。"
End Sub

-------------------------------------------------

[実行例]:

A1セルに「おはようございます。」が表示されます。

f:id:m_kbou:20190513161215p:plain

 

Rangeを使用した記述方法

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

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub あいさつ()
    Range("A1") = "おはようございます。"
End Sub

-------------------------------------------------

[実行例]:

A1セルに「おはようございます。」が表示されます。

f:id:m_kbou:20190513161215p:plain

 

おわりに

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