VBA Excelの最終行を検索する(5つの方法)

  • これを共有
Hugh West

VBAでは、さまざまな方法で最終行を見つけることができます。 この記事では、VBAでExcelの最終行を見つけるさまざまな方法を説明するつもりです。

この説明を見やすくするために、サンプルのデータセットを使って説明します。 データセットには、売上情報を表す4つのカラムがあります。 これらのカラムは 営業担当者、地域、製品。 価格 .

ダウンロード 練習用

VBA 最後の行を検索する.xlsm

VBAでExcelの最終行を検索する方法

1.SpecialCellsを使った最終行の検索

を使用することができます。 特殊細胞 メソッドを使用して、最後の行を見つけることができます。 ブイビーエー .

まず デベロッパー を選択します。 ビジュアルベーシック

の新しいウィンドウが表示されます。 Microsoft Visual Basic for Applications がポップアップ表示されます。

では、から インサート >> 選択 モジュール

A モジュール が開かれます。

そして、以下のコードを モジュール .

 Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub 

ここでは、サブプロシージャとして 最後の行の特別なセル ここで、aは ロング へんこうしゅうたい 最終行 が宣言されました。

そして、その変数を Range.SpecialCells ここでは、カラム A ( A:A を範囲とする。 xlCellTypeLastCell の型パラメータとして使用します。 特殊細胞 の場合、その範囲の最後のセルが返されます(この場合、カラム A ).

メッセージボックスで結果を表示するようにしました。

その後です。 保存 を実行し、ワークシートに戻ってください。

もう一度、開いてください。 表示 tab>> from マクロ >> 選択 マクロを見る

次に、a ダイアログボックス がポップアップ表示されます。

では、その中から マクロ名 を選択します。 最後の行の特別なセル の中のワークブックも選択します。 のマクロ .

最後に 実行 選択された マクロ .

このように、最後の行番号を示すメッセージボックスがポップアップ表示されます。

2.空白でないセルにRows.Countを使用する場合

を使用することができます。 行数.Count メソッドを使用して、最後の行を見つけることができます。 ブイビーエー .

では、開いてみてください。 デベロッパー を選択します。 ビジュアルベーシック

の新しいウィンドウが表示されます。 Microsoft Visual Basic for Applications がポップアップ表示されます。

では、から インサート >> 選択 モジュール

A モジュール が開かれます。

そして、以下のコードを モジュール .

 Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub 

ここでは、LastRow_NonEmptyというサブプロシージャを作成し、そこに ロング へんこうしゅうたい 最終行 が宣言されました。

今すぐ CELLS(Rows.Count, 1) は、最初の列の行数を数えます。 次に End(xlUp).Rowの場合 これで、Excelの範囲内で最後に使用された行を見つけることができます。

最終的には、メッセージボックスで結果を表示するようにしました。

それから。 保存 を実行し、ワークシートに戻ってください。

ここで、以下を開きます。 表示 タブ>>から マクロ >> 選択 マクロを見る

では、a ダイアログボックス がポップアップ表示されます。

では、その中から マクロ名 を選択します。 最終行が空でない の中のワークブックも選択します。 のマクロ .

最後に 実行 選択された マクロ .

このように、最後の行番号を示すメッセージボックスがポップアップ表示されます。

3.選択された任意の列のRows.Countの使用

で選択された任意の列を使用することで VBAです。 をクリックすると、最後の行が表示されます。

まず デベロッパー を選択します。 ビジュアルベーシック

の新しいウィンドウが表示されます。 Microsoft Visual Basic for Applications がポップアップ表示されます。

では、から インサート >> 選択 モジュール

A モジュール が開かれます。

そして、以下のコードを モジュール .

 Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub 

ここでは、LastRow_AnyColumnというサブプロシージャを作成し、そこに ロング へんこうしゅうたい 最終行 が宣言されました。

そして、その中で レンジ 列挙 B をパラメータとして指定し、さらに 行数.Count これは、指定された列にいくつの行があるかを数えるものです。 B .次に、使用した End(xlup). Row は、Excelの範囲内で最後に使用された行を見つけることができます。

最後に、メッセージボックスで結果を表示させています。

次のページ セーブ を実行し、ワークシートに戻ってください。

次に 表示 tab>> from マクロ >> 選択 マクロを見る

ここで、a ダイアログボックス がポップアップ表示されます。

では、その中から マクロ名 を選択します。 LastRow_AnyColumn の中のワークブックも選択します。 のマクロ .

最後に 実行 選択された マクロ .

このように、最後の行番号を示すメッセージボックスがポップアップ表示されます。

類似の読み物。

  • VBA Excelの列の検索(7つのアプローチ)
  • VBAを使った検索と置換(11の方法)
  • ExcelのVBAを使った完全一致の検索(5つの方法)
  • ExcelのVBAで文字列を検索する方法(8例)

4.UsedRangeを使った最終行の検索

を使用することができます。 UsedRange プロパティを使用して、最後の行を検索します。 ブイビーエー .

では、開いてみてください。 デベロッパー を選択します。 ビジュアルベーシック

すると、新しいウィンドウの Microsoft Visual Basic for Applications がポップアップ表示されます。

では、から インサート >> 選択 モジュール

A モジュール が開かれます。

そして、以下のコードを モジュール .

 Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row: " & LastRow End Sub. 

ここでは、LastRow_UsedRangeというサブプロシージャを作成し、そこに ロング へんこうしゅうたい 最終行 が宣言されました。

次に、変数を ActiveSheet.UsedRange.Rowsを指定します。 メソッドも提供されています。 ActiveSheet.UsedRange.Rows.Countを表示します。 のパラメータとして使用します。 ActiveSheet.UsedRange.Rowsを指定します。 この場合、最後の行が返されます。

メッセージボックスで結果を表示するようにしました。

今すぐ セーブ を実行し、ワークシートに戻ってください。

次に 表示 tab>> from マクロ >> 選択 マクロを見る

次に、a ダイアログボックス がポップアップ表示されます。

では、その中から マクロ名 を選択します。 LastRow_UsedRange の中のワークブックも選択します。 のマクロ .

最後に 実行 選択された マクロ .

このように、最後の行番号を示すメッセージボックスがポップアップ表示されます。

5.Range.Findを使って最終行を検索する

を使用することができます。 Range.Find メソッドを使用して、最後の行を見つけることができます。 ブイビーエー .

では、開いてみてください。 デベロッパー を選択します。 ビジュアルベーシック

ここで、新しいウィンドウの Microsoft Visual Basic for Applications がポップアップ表示されます。

では、から インサート >> 選択 モジュール

A モジュール が開かれます。

そして、以下のコードを モジュール .

 Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False) .Row On Error GoTo 0 MsgBox "Last Row: " & LastRow End Sub 

ここでは、Range_Find_Methodというサブプロシージャを作成し、そこに ロング へんこうしゅうたい 最終行 が宣言されました。

そして、その変数を Cells.Find ここでは、7つのパラメータを宣言しています。 というパラメータを使用すると、空でない最初のセルが見つかります。 A1 を範囲とする。 パラメータで開始します。 ルックアット 提供パラメタ xlPart をクリックすると、セル内のテキストの任意の部分を見ることができます。

LookIn:=xlFormulas パラメータは、数式がある場合はそれを探します。 検索順序:=xlByRows パラメータは、右から左に移動し、また、空でないセルを見つけるまで各行をループします。

MatchCase:=False(マッチケース パラメータは 探す 空白でない文字が見つかると停止し、行番号を返す。

メッセージボックスで結果を表示するようにしました。

今すぐ 保存 を実行し、ワークシートに戻ってください。

ここで、開 表示 tab>> from マクロ >> 選択 マクロを見る

では、a ダイアログボックス がポップアップ表示されます。

では、その中から マクロ名 を選択します。 範囲検索の方法 の中のワークシートも選択します。 のマクロ .

最後に 実行 選択された マクロ .

このように、最後の行番号を示すメッセージボックスがポップアップ表示されます。

結論

今回は、5つの方法について説明しました。 ブイビーエー Excelで最後の行を見つける。 あなたは最後の行を見つけるために、任意の方法を実行することができます。 あなたはこれらのメソッドに関する任意の混乱や質問がある場合は、以下のコメントすることができます。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。