データがある行の総数を数える必要があります。データ行の量が異なる複数のシートでこれを使用できるようにしたいと思います。
A1-A100またはA1-A300の行数をカウントする一般的なコードを把握できません。
私はこのようなものを使用しようとしています。
i = ActiveWorkbook.Worksheets("Sheet1").Range("A2 , Range("A2").End(xlDown)).Rows.Count
VBAが必要な場合は、次のようにすばやく実行できます。
Sub Test()
With ActiveSheet
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
MsgBox lastRow
End With
End Sub
これにより、データが含まれる最後の行の番号が出力されます。他の目的で使用する場合、MsgBoxは必要ありませんが、lastRowはそれでもその値になります。
_Sheet1
_をアクティブにする必要がないと仮定すると、次の改善されたコードを使用する必要があります。
_i = ActiveWorkbook.Worksheets("Sheet1").Range("A2" , Worksheets("Sheet1").Range("A2").End(xlDown)).Rows.Count
_
この状況で重要なRange(arg1, arg2)
の2番目の引数については、ワークシートの完全なリファレンスをご覧ください。
http://www.mrexcel.com/ でこのメソッドを見つけました
これは、「Data」という名前のワークシートの列Aの非空白セルの数を計算します
With Worksheets("Data")
Ndt =Application.Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
debug.print Ndt
End With
結果はイミディエイトウィンドウに出力されます。列Aにカウントしたくないヘッダー行がある場合、1(またはそれ以上)を引く必要があります。
lastrow = Sheet1.Range("A#").End(xlDown).Row
これにより、行カウントをより簡単に決定できます。
大きな行になると、正しい変数を宣言するようにしてください。
ところで、「#」記号は、行カウントを開始する番号にする必要があります。