web-dev-qa-db-ja.com

データが存在する行数

データがある行の総数を数える必要があります。データ行の量が異なる複数のシートでこれを使用できるようにしたいと思います。

A1-A100またはA1-A300の行数をカウントする一般的なコードを把握できません。

私はこのようなものを使用しようとしています。

i = ActiveWorkbook.Worksheets("Sheet1").Range("A2 , Range("A2").End(xlDown)).Rows.Count
8
Patrick Wilson

VBAが必要な場合は、次のようにすばやく実行できます。

Sub Test()
    With ActiveSheet
    lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    MsgBox lastRow
    End With
End Sub

これにより、データが含まれる最後の行の番号が出力されます。他の目的で使用する場合、MsgBoxは必要ありませんが、lastRowはそれでもその値になります。

14
Joe Laviano

_Sheet1_をアクティブにする必要がないと仮定すると、次の改善されたコードを使用する必要があります。

_i = ActiveWorkbook.Worksheets("Sheet1").Range("A2" , Worksheets("Sheet1").Range("A2").End(xlDown)).Rows.Count
_

この状況で重要なRange(arg1, arg2)の2番目の引数については、ワークシートの完全なリファレンスをご覧ください。

5
Kazimierz Jawor

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(またはそれ以上)を引く必要があります。

1
Markm0705
lastrow = Sheet1.Range("A#").End(xlDown).Row

これにより、行カウントをより簡単に決定できます。
大きな行になると、正しい変数を宣言するようにしてください。
ところで、「#」記号は、行カウントを開始する番号にする必要があります。

0
kyoya007