Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAで複数行を選択する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「excel vba 複数行の選択」
「エクセルマクロ 複数行選択」
という検索キーワードでのアクセスに気づきました。

複数の行を選択する、Excelマクロ・VBA(Visual Basic for Applications)のコードを探していた方による検索です。

そもそも、複数の行を選択する必要が、本当にあるのかを是非考えてみていただきたいところですが、この記事では、複数行を選択するExcel VBAのコードをいくつかご紹介しておきます。

[スポンサードリンク]

Rangeプロパティを使って複数の行を選択するサンプルマクロ

以下のSubプロシージャで、1:3行目が選択されます。
Sub 複数の行を選択する_Range()
 Range("1:3").Select
End Sub

「Range("A1").Select」というオブジェクト式で、A1セルを選択できます。
同じ考え方で、Rangeプロパティの引数に、複数行を表す「1:3」という文字列を指定すれば、複数の行全体を選択できます。

Rowsプロパティを使って複数の行を選択するサンプルマクロ

以下のSubプロシージャでも、1:3行目が選択されます。
Sub 複数の行を選択する_Rows()
 Rows("1:3").Select
End Sub

Rowsプロパティも引数に文字列を指定することで、複数行を取得できます。

Rangeプロパティで連続していない離れた複数行を選択するサンプルマクロ

連続した複数行の場合は、RangeプロパティでもRowsプロパティでもOKですが、連続していない離れた複数行を選択する場合は、Rangeプロパティです。
Sub 連続していない複数の行を選択する_Range()
 Range("1:3, 5:7, 10:10").Select
End Sub

上記のSubプロシージャを実行すると、1~3・5~7・10行目が選択されます。

「Range("A1, C3, H10")」といったオブジェクト式で、A1セルとC3セルを表すRangeオブジェクトを取得できます。その応用が「Range("1:3, 5:7, 10:10")」です。

EntireRowプロパティを組み合わせて、連続していない離れた複数行を選択するサンプルマクロ

RangeオブジェクトのEntireRowプロパティを組み合わせても、連続していない離れた複数行を選択できます。
Sub 連続していない複数の行を選択する_Range_EntireRow()
 Range("A1:A3, A5:A7, A10").EntireRow.Select
End Sub

上記のSubプロシージャでも、1~3・5~7・10行目を選択できます。

「Range("A1:A3, A5:A7, A10")」というオブジェクト式で、A1:A3・A5:A7・A10セルを表すRangeオブジェクトを取得できます。

これらのセルの行全体を表すRangeオブジェクトをRange.EntireRowプロパティで取得しているのが「Range("A1:A3, A5:A7, A10").EntireRow」というオブジェクト式です。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAで複数行を選択する

「行・列を表すRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.