このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「excel vba 複数行の選択」
「エクセルマクロ 複数行選択」
という検索キーワードでのアクセスに気づきました。
複数の行を選択する、Excelマクロ・VBA(Visual Basic for Applications)のコードを探していた方による検索です。
そもそも、複数の行を選択する必要が、本当にあるのかを是非考えてみていただきたいところですが、この記事では、複数行を選択するExcel VBAのコードをいくつかご紹介しておきます。
Rangeプロパティを使って複数の行を選択するサンプルマクロ
以下のSubプロシージャで、1:3行目が選択されます。Range("1:3").Select
End Sub
「Range("A1").Select」というオブジェクト式で、A1セルを選択できます。
同じ考え方で、Rangeプロパティの引数に、複数行を表す「1:3」という文字列を指定すれば、複数の行全体を選択できます。
Rowsプロパティを使って複数の行を選択するサンプルマクロ
以下のSubプロシージャでも、1:3行目が選択されます。Rows("1:3").Select
End Sub
Rowsプロパティも引数に文字列を指定することで、複数行を取得できます。
Rangeプロパティで連続していない離れた複数行を選択するサンプルマクロ
連続した複数行の場合は、RangeプロパティでもRowsプロパティでもOKですが、連続していない離れた複数行を選択する場合は、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プロパティを組み合わせても、連続していない離れた複数行を選択できます。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」というオブジェクト式です。
- Newer:Byte配列を2バイトごとに処理
- Older:シート名に連番を振るExcelマクロ
Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAで複数行を選択する