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

動作検証バージョン:Windows版Excel(バージョン1905 ビルド11629.20246)

「vba 一行下を選択」
「エクセル マクロ 1行下を選択」
といった検索キーワードに気が付きました。

基準となるセルがどれなのかは不明ですが、一行下を選択するExcelマクロ、Excel VBAのコードを探していらしたのでしょう。

[スポンサードリンク]

Offsetを使ってアクティブセルの1行下を選択するサンプル

以下のSubプロシージャを実行すると、アクティブセルの1つ下の行を選択できます。

Sub 一行下を選択する_Offsetプロパティ()
 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プロパティに慣れていない方の場合、以下のようなコードのほうが納得感があるだろうと思います。

Sub 一行下を選択する_Rowに1を加算()
 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

[スポンサードリンク]

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

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

検索


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

.