Selection for my Life

いま、僕にできること。

エクセルVBA 列の最終行を探す

今回は、エクセルの特定列の最終行を取得する方法をメモしておきます。

この最終行取得処理は、結構使う。

 

・検索する行範囲を特定する場合

・最終行の次のセルに値を追加する場合  etc

 

では サンプル

A列の最終行を取得したいと思います

'---------------------------------------------
' A列とB列の最終行を取得する
' 2013/03/07  hatcy840  
'  
'---------------------------------------------
ACol_MaxRow = Range("A1").End(xlDown).Row    ←A1セルから下方向に最終行を検索して取得する
BCol_MaxRow = Range("B1000").End(xlUp).Row  ←B1000セルから上方向に最終行を検索して取得する

 この処理ですが、

最終行取得で、検索をスタートするセルからCtrl + Up(Down) キーを押してカーソルがジャンプするセルを取得する処理になります。

 

たとえば、A列にID番号連番で1から100まで入力されていた場合、

ACol_MaxRowは100になります。

しかし、

途中で、空白セルが混入していた場合、その空白セルの一つ上の行が ACol_MaxRwになってしまいますので、注意が必要です。

途中に空白が存在するようなリストの最終行を取得する際には、xlUpを使って、下から検索していくと、リストの最終行が正しく取得できると思います。