目次
目的
Excel VBA のマクロでデータの入力されている範囲の選択を行いたい。
選択したセルの値、書式を変更したい。
題材
以下のような Excel のワークシートがあるとします。「VBA」の文字が入力されていますが、 6 行目と E 列は空白になっていてデータが連続していません。 Excel の範囲指定で書いてみますと以下の 3 つのエリアに分かれているように見えます。
- B3:D5
- F3:H5
- B7:D9
このワークシートで B3 セルを選択した後に、 Ctrl + * のキーボードショートカットの操作を行うと連続するデータの範囲が選択されると思います。
今回はこの操作と同じことを Excel のマクロで行ってみたいと思います。
その方法の一例
Excel VBA のコード例:
Sub 方法_002399()
ActiveSheet.Range("B3").CurrentRegion.Select 'B3 を基点にしてデータの連続する範囲を選択
End Sub
上のマクロを実行すると以下の画像のようになると思います。このマクロでは CurrentRegion プロパティというものを使用しています。この CurrentRegion プロパティが Ctrl + * のキーボードショートカット操作と同様の働きをしてくれているようです。
補足 1
ActiveCell(アクティブセル)という書き方もあるようです。
Sub 方法_002399_1()
ActiveCell.CurrentRegion.Select 'アクティブセルを基点にしてデータの連続する範囲を選択
End Sub
アクティブセルとは以下の画像のような感じだと思います。 A2:D5 が選択範囲になっていますが、アクティブセルは B3 になっています。 A2:D5 を選択後 Tab キーを押していくと以下の画像のような状態を再現できると思います。
- A2:D5 が選択範囲で B3 がアクティブセルの場合、 B3:D5 が選択されます。
- A2:D5 が選択範囲で A2 がアクティブセルの場合、 A2:D5 が選択されます。
テスト環境
- Windows 10
- Microsoft Office Excel 2003
間違ってないと良いですが。
以上、閲覧ありがとうございました。