Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » SpecialCellsを使って最終行の次の行を取得するには

SpecialCellsを使って最終行の次の行を取得するには

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2209 ビルド15629.20208 Microsoft Store)

「エクセルマクロ spcialcellsを使って最終行の次の行を取得」
といった検索でアクセスがありました。

Rangeオブジェクトに用意されているSpecialCellsメソッドを使って、

最終行の次の行を取得するには、どのようなコードを書けばいいのか調べていた方による検索です。

[スポンサードリンク]

ここで「最終行の次の行」と表現されているものは、2つ考えられます。

1つは、行番号。
もう1つは、行を表すRangeオブジェクトです。

SpecialCellsを使って最終行の次の行の行番号を取得するサンプル

以下のExcelマクロを実行すると、最終行の、次の行の行番号がメッセージボックスに表示されます。

Sub SpecialCellsを使って最終行の次の行の行番号を取得する()
 Dim row_num As Long
 row_num = _
   Cells.SpecialCells(xlCellTypeLastCell).Row + 1
 MsgBox row_num
End Sub

SpecialCellsを使って最終行の次の行を表すRangeを取得するサンプル

以下のExcelマクロを実行すると、最終行の、次の行を表すRangeが取得・選択されます。

Sub SpecialCellsを使って最終行の次の行を表すRangeを取得する()
 Dim rng_row As Range
 Set rng_row = _
   Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).EntireRow
 rng_row.Select
End Sub

サンプルマクロで使用している式について

上記2つのサンプルマクロで使用しているコードの意味は以下のとおりです。

Range.SpecialCellsメソッドに、定数xlCellTypeLastCellを指定すると、ショートカットキー[Ctrl]+[End]等で選択できる、最後のセルを表すRangeオブジェクトを取得できます。

「最終行の次の行」の行番号を取得する場合は、Range.SpecialCells(xlCellTypeLastCell)で取得したRangeオブジェクトの、Rowプロパティで取得できる行番号に

Cells.SpecialCells(xlCellTypeLastCell).Row + 1

「1」を加算すれば済みます。

Cells.SpecialCells(xlCellTypeLastCell).Row + 1

「最終行の次の行」を表すRangeオブジェクトを取得する場合は、Range.SpecialCells(xlCellTypeLastCell)で取得したRangeオブジェクトの、Offsetプロパティの第1引数に「1」第2引数に「0」を指定することで取得できる最後のセルの1つ下のセルを表すRangeオブジェクトの、

Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).EntireRow

EntireRowプロパティで、行全体を表すRangeオブジェクトを取得しています。

Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).EntireRow

最終更新日時:2022-11-16 23:54

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » SpecialCellsを使って最終行の次の行を取得するには

「SpecialCellsメソッド」の記事一覧

検索


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

.