目次

目的

Excel VBA のマクロでデータの入力されている範囲の選択を行いたい。

選択したセルの値、書式を変更したい。

目次まで戻る

題材

以下のような Excel のワークシートがあるとします。「VBA」の文字が入力されていますが、 6 行目と E 列は空白になっていてデータが連続していません。 Excel の範囲指定で書いてみますと以下の 3 つのエリアに分かれているように見えます。

  • B3:D5
  • F3:H5
  • B7:D9
連続するデータのセル範囲を選択する Excel マクロの題材説明。
Excel のワークシートにデータが入力されています。 6 行目と E 列は空白になっていてデータが連続していません。

このワークシートで B3 セルを選択した後に、 Ctrl + * のキーボードショートカットの操作を行うと連続するデータの範囲が選択されると思います。

今回はこの操作と同じことを Excel のマクロで行ってみたいと思います。

連続するデータのセル範囲を選択する Excel マクロの題材説明。手動での操作イメージ。セル選択。
Step.1 「 B3 」セルを選択。
連続するデータのセル範囲を選択する Excel マクロの題材説明。手動での操作イメージ。キーボードショートカット実行。
Step.2 連続するデータ範囲が選択されている。

目次まで戻る

その方法の一例

Excel VBA のコード例:

Sub 方法_002399()

    ActiveSheet.Range("B3").CurrentRegion.Select 'B3 を基点にしてデータの連続する範囲を選択

End Sub

上のマクロを実行すると以下の画像のようになると思います。このマクロでは CurrentRegion プロパティというものを使用しています。この CurrentRegion プロパティが Ctrl + * のキーボードショートカット操作と同様の働きをしてくれているようです。

連続するデータのセル範囲を選択する Excel マクロの実行結果。
B3:D5 の範囲が選択されている。

目次まで戻る

補足 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 が選択されます。
連続するデータのセル範囲を選択する Excel マクロのアクティブセルを基点とした場合の実行結果。
B3 がアクティブなセルです、マクロを実行すると A2:D5 が選択範囲になります。

目次まで戻る

テスト環境

  • Windows 10
  • Microsoft Office Excel 2003

間違ってないと良いですが。

以上、閲覧ありがとうございました。

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿