Categories: VBA基礎

EXCEL VBA 表の最終行 最終列の取得(Row Columns)・セルの最終行

EXCEL VBA 表の最終行 最終列(Row Columns)の取得

 

●はじめに
ここでは、EXCELに表やデータ一覧を作成し、その表やデータをVBAで取り扱う場合、表やデータがどこまで入力されているのか件数を把握する必要があります。コード(プログラム)を作成するにあたり、取り扱うデータが変動したりするとその都度、コードを訂正すると効率が悪いので、データ等が変動してもコードに影響の無い方法を説明いたします。

 

●表やデータの先頭行・最終を取得する方法。(クリックで拡大表示)

 

●プログラムの説明
上記表のB列における先頭行と最終行の行番号を取得する方法を説明します。

 

Sub Rowcount()

    Dim RowStart As Long
    Dim RowEnd As Long
        
    RowStart = Cells(1, "B").End(xlDown).Row '-------①表の上から下に行番号を取得    
    RowEnd = Cells(Rows.Count, "B").End(xlUp).Row '------②表の下から上に取得
        
    MsgBox "B列の先頭行は、" & RowStart & "行です。" & "最終行は、" & RowEnd & "行です"
   
End Sub

 

●実行結果 ※上記のプログラムを実行すると、B列のデータを元に先頭行と最終行が表示されます。(クリックで拡大表示)

 

 

●表やデータの先頭列・最終を取得する方法。(クリックで拡大表示)

 

●プログラム説明
上記表の6行目における先頭列と最終列の列番号を取得する方法を説明します。

 

Sub Columncount()

    Dim ColumnStart As Long
    Dim ColumnEnd As Long
    
    ColumnStart = Cells(6, "A").End(xlToRight).Column '-----①表の左から右へ列番号を取得 
    ColumnEnd = Cells(6, Columns.Count).End(xlToLeft).Column '-------②表の右から左へ列番号を取得
    
    MsgBox "6行目の先頭列は、" & ColumnStart & "列です。" & "最終列は、" & ColumnEnd & "列です"
    

End Sub

 

●実行結果 ※上記のプログラムを実行すると、6行目のデータを元に先列行と最終列が表示されます。(クリックで拡大表示)

 

最後まで、ご覧いただきまして誠に有難うございました。
以上で表の先頭行・最終行・先頭列・最終列番号の習得方法です。実際にプログラム作成に使われるのは、最終行取得【例:Cells(Rows.Count, “A”).End(xlUp).Row ) 】が一番使われます。列番号の取得は、私自身あまり使わないので初心者の方は、直ぐに覚える必要はありません。ただし、行番号取得については、頻繁に使いますので覚えると便利です。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。

 

AKIRA