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

記事
IT・テクノロジー
マクロや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の開き方については、以下の手順を参考にして下さい。 
------------------------------------------------- 
Sub あいさつ() 
    Cells(1, "A") = "おはようございます。" 
End Sub 
又は 
Sub あいさつ() 
    Cells(1, 1) = "おはようございます。" 
End Sub 
------------------------------------------------- 
[実行例]: 
A1セルに「おはようございます。」が表示されます。 
image15.png
Rangeを使用した記述方法 
Rangeの記述方法について説明します。 
[記述例]: 
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、以下の手順を参考にして下さい。 
------------------------------------------------- 
Sub あいさつ() 
    Range("A1") = "おはようございます。" 
End Sub 
------------------------------------------------- 
[実行例]: 
A1セルに「おはようございます。」が表示されます。 
image15.png

おわりに 

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