
皆さんが普段Excelで何かしらの表などを作成する際、マウスなどで範囲を選択して罫線を引いたり、文字を入力したりします。
その際、「操作の対象範囲を選択する」ということが最初にやるべきことになります。
VBAにおいても同様にいろいろセルやワークシートに対して何かを行なう際はまず対象範囲を選択しなければなりません。
VBAにおいて「選択」を扱うものとしてSelectメソッドがあります。
今回は指定したセル範囲やワークシートを選択するSelectメソッドについてまとめていきます。
Selectメソッドの基本構文
オブジェクト.Select
オブジェクト
Selectメソッドを指定するオブジェクトを指定します。
セル(単一セル・複数セル・行・列)とワークシートが一般的です。
ワークブックはSelectメソッドで操作できません。
オブジェクトに関しては下記記事をご参照ください。
Excelのオブジェクトの基礎知識まとめ | Excelを制する者は人生を制す ~No Excel No Life~
使用例①【単一セル選択】
もっともオーソドックスな使用例として単一セルを選択する場合、対象のオブジェクトはRangeプロパティで取得します。
Rangeプロパティに関しては下記記事をご参照ください。
【Excel VBA】単一セルやセル範囲を参照するRangeプロパティまとめ | Excelを制する者は人生を制す ~No Excel No Life~
1 2 3 |
Sub 単一セル選択() Range("B5").Select End Sub |
マクロの動作イメージ
B5セルが選択されました。
Rangeプロパティの他にもCellsプロパティでも単一セルのオブジェクトを指定することが可能です。(下記記事参照)
【Excel VBA】行と列を別々に指定してセルを参照するCellsプロパティまとめ | Excelを制する者は人生を制す ~No Excel No Life~
使用例②【複数セル選択】
複数セルを選択する場合もRangeプロパティが一般的です。
1 2 3 |
Sub 複数セル選択() Range("B5:G13").Select End Sub |
マクロの動作イメージ
B5:G13が選択されました。
行・列単位で選択したい場合はRowsプロパティやColumnsプロパティを使用します。(下記記事参照)
【Excel VBA】指定したオブジェクトの行を参照するRowsプロパティまとめ | Excelを制する者は人生を制す ~No Excel No Life~
【Excel VBA】指定したオブジェクトの列を参照するColumnsプロパティまとめ | Excelを制する者は人生を制す ~No Excel No Life~
使用例③【ワークシート選択】
続いて、ワークシートを選択する場合はWorksheetオブジェクトを指定してあげます。
1 2 3 |
Sub ワークシート選択() Worksheets("Sheet1").Select End Sub |
マクロの動作イメージ
Sheet1のワークシートが選択されました。
まとめ
Selectメソッドは頻出のメソッドなので、はやめに覚えてしまいましょう。
なお、類似のメソッドとしてActivateメソッドがありますので、こちらは次回以降に解説していきたいと思います(・∀・)