Excelマクロ初心者必見!最終行を取得する2つの方法!

Excelでマクロを使用する際、最終行の取得は非常に重要なスキルです。データ範囲の特定やセル操作の効率化に欠かせない技術といえるでしょう。本記事では、VBAを使って最終行を取得する2つの方法を詳しく解説します。それぞれの方法の特徴や使い分けについても触れていきますので、ぜひ最後までお読みください。

ぷりんくん

今回はこのExcelシートを例に話を進めていくよ!
シート名:データ

目次

1. 最終行を取得する基本的な方法

最も一般的な最終行の取得方法は、Cells(Rows.Count, "A").End(xlUp).Rowを使用する方法です。

Sub sb指定列の最終行を取得する()
    
    '変数宣言
    Dim wsデータ As Worksheet
    Set wsデータ = Worksheets("データ")
    
    '最終行を取得する
    Dim 指定列の最終行 As Long
    指定列の最終行 = wsデータ.Cells(wsデータ.Rows.Count, "B").End(xlUp).Row
    
    'メッセージを表示する
    MsgBox 指定列の最終行
    
End Sub
▼ 実行結果

この方法は、指定した列(この場合はB列)の一番下から上に向かって最初にデータがある行を探します。シンプルで分かりやすい方法ですが、空白行がある場合に正確な結果が得られない可能性があります。

2. UsedRangeを使用した方法

UsedRangeプロパティを使用すると、ワークシートで使用されている範囲の最終行を取得できます。

Sub sbシートの最終行を取得する()
    
    '変数宣言
    Dim wsデータ As Worksheet
    Set wsデータ = Worksheets("データ")
    
    '最終行を取得する
    Dim シートの最終行 As Long
    シートの最終行 = wsデータ.UsedRange.Rows.Count + wsデータ.UsedRange.Row - 1
    
    'メッセージを表示する
    MsgBox シートの最終行
    
End Sub

この方法は、シート全体で使用されているセル範囲を考慮するため、特定の列に依存しない利点があります。ただし、過去に使用されたセルも含まれてしまう可能性があるので注意が必要です。

▼ 実行結果

使用されているセル範囲なので、罫線や塗りつぶしも含みますので注意が必要です!

まとめ

最終行の取得は、Excelマクロを効率的に使用する上で非常に重要なスキルです。本記事で紹介した2つの方法をマスターすることで、様々な状況に対応できるようになります。初心者の方は、まず基本的な方法から始めて、徐々に他の方法も試してみてください。データの特性や処理の目的に応じて、最適な方法を選択することが大切です。

Excelマクロの世界は奥が深く、学ぶべきことがたくさんあります。最終行の取得をマスターしたら、次は他の便利な関数やテクニックにも挑戦してみてください。VBAの力を借りて、より効率的なExcel作業を目指しましょう。

あわせて読みたい
VBAで日本語変数を使おう!効率的なコーディングへの近道 今日は、VBA(特にExcel VBA)における日本語変数の活用について、その魅力と実践的なテクニックをお伝えします。この記事は、以下のような方に特におすすめです。 個人...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次