今回は、値のあるセルの最終行までループ処理する方法です。
以下のデータを使用します。
単価と個数の合計金額を入力する時に、行数が変更されても正しく処理されるようにします。
まずは、ソースコードを記載します。
vb.合計金額の計算
Sub 合計金額の計算()
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 4) = Cells(i, 2) * Cells(i, 3)
Next
End Sub
最終行を取得するためには、以下のコードになります。
Cells(Rows.Count, 1).End(xlUp).Row
「Rows.Count」は、シートの最終行を取得しています。
2007以降なら1048576(行)が入ると思います。
「.End(xlUp)」は、セルに値が入ってるところまで、下から上にジャンプしてくれます。
やっている操作は、Ctrl + ↑と同じ処理になります。
結局何をやっているかというと、1列目の最終セルから、値のあるセルまで上にジャンプしています。
最後に、ジャンプして止まったセルの行数を取得するため、「.Row」を記載します。
最終行までループ処理が出来れば、あとは必要な計算を行ってセルに入力すれば完了です!
以上、値のあるセルの最終行を取得する方法でした。