【セルの参照・選択】



このHPはセルの参照・選択についてまとめたものです。





1-1 Rangeプロパティ

VBAでセルを操作するときは、対象となる単一のセルやセル範囲を参照する。セルの参照には、「Rangeプロパティ」を使用して「Rangeオブジェクト」を取得する。Rangeプロパティの書式は以下の通り。




Rangeオブジェクトは、セルを表すもの。セルやセル範囲を操作するときは、「Rangeオブジェクト」を取得して操作する。また、「Rangeオブジェクト」の記載例は以下の通り。









【例1】
《セルC5の参照》
「Range("C5")」




【例2】
《セルF8〜J12までの参照》
「Range("F8〜J12")」




【例3】
《離れたセルB20とE20の参照》
「Range("B20,E20")」








1-2 Cellsプロパティ

セルを参照する際に、「行番号」と「列番号」を別々に指定することもできる。Cellsプロパティは、「引数で指定した行番号と列番号のセル」を参照する「Range」オブジェクトを取得する。なお、引数を省略した場合は、すべてのセルを参照する。「Cellsプロパティ」の書式は以下の通り。






また、「Cellsプロパティ」の記載例は以下の通り。




【例1】
《セルB4の参照》
「Cells(4,2)」










1-3 ActiveCellプロパティ/Selectionプロパティ

ActiveCellプロパティは「アクティブセル」を参照し、「Rangeオブジェクト」を取得する。Selectionプロパティは「選択されているセル範囲」を参照し、「Rangeオブジェクト」を取得する。





「ActiveCellプロパティ」と「Selectionプロパティ」の書式は以下の通り。





単一のセルが選択されている場合は、「ActiveCellプロパティ」と「Selectionプロパティ」は同じセルを参照するが、「複数のセル」を参照しているときは、参照するセルが異なる。どちらも「アクティブシート」が対象


「Selectionプロパティ」は現在選択されているものを参照する。セルが選択されていればセルを参照するが、グラフや図形が選択されていれば、セルではなくそれらが参照される。





1-4 Selectメソッド,Activateメソッド

セル、セル範囲を選択するには「Selectメソッド」を使用する。

また、特定のセルをアクティブにするには「Activateメソッド」を使用する。


単一のセルを選択する場合は、「Selectメソッド」、「Activateメソッド」共に同じ動作をするが、選択範囲内のセルに対して「Activateメソッド」でセルを選択すると、選択範囲はそのままでアクティブセルだけが移動する。

どちらもアクティブシートが対象。









【例1】

ワークシートを選択し、セルを選択する

Sub SlectAcitivate()
Worksheets("CCNA").Activate 'ワークシートCCNAをアクティブにする
Range("B2:C7").Select 'セル範囲「B2:C7」を選択する
Range("C10").Activate 'セル「C10」をアクティブセルにする
End Sub