「vba 一行下を選択」
「エクセル マクロ 1行下を選択」
といった検索キーワードに気が付きました。
基準となるセルがどれなのかは不明ですが、一行下を選択するExcelマクロ、Excel VBAのコードを探していらしたのでしょう。
Offsetを使ってアクティブセルの1行下を選択するサンプル
以下のSubプロシージャを実行すると、アクティブセルの1つ下の行を選択できます。
ActiveCell.Offset(1, 0).EntireRow.Select
End Sub
ActiveCell.Offset(1, 0)で、アクティブセルの1つ下のセルを表すRangeを取得して、Range.EntireRowプロパティで行全体を表すRangeを取得し、RangeオブジェクトのSelectメソッドで選択しています。
RowsとRowを使ってアクティブセルの1行下を選択するサンプル
オオブジェクトを取得するRange.OffsetプロパティやRange.EntireRowプロパティに慣れていない方の場合、以下のようなコードのほうが納得感があるだろうと思います。
Rows(ActiveCell.Row + 1).Select
End Sub
こちらは、拙著『いちばんやさしいExcel VBAの教本』でもご紹介しているプロパティだけで、アクティブセルの1つ下の行を表すRangeオブジェクトを取得・選択しています。
拙著ではLesson 63「行全体・列全体を表すRangeオブジェクトについて学習しましょう」でRowsプロパティについて、Lesson 60「単なるデータを取得するRangeオブジェクトのプロパティを理解しましょう」でRowプロパティについて解説しています。
ActiveCell.Rowで取得したアクティブセルの行番号に、1を加算する式を、Rowsプロパティの引数に指定することで、1行下のセルを表すRangeオブジェクトを取得し、Range.Selectメソッドで選択しています。
ちなみに、
Rows(ActiveCell.Row + 1).Select
というコードに登場するプロパティのうち、Rows・ActiveCellはオブジェクトを取得するためのプロパティで、Rowは単なるデータを取得するためのプロパティです。
最終更新日時:2020-09-16 15:53
- Newer:OpenPyXLのCellはis演算子で比較できる
- Older:Worksheet関連オブジェクト式解説図版の索引
Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAで1行下を選択する