私のExcelシートでは、フィルタを適用しています。その後、表示行を数えています。 次のコードを使用しましたが、カウントが間違っています。私がxlCellTypeVisible
を持っているとき、それは "14"レコードの代わりに "12"レコードを表示し、visibleTotal
変数は "0"カウントを示します。Excel VBAでフィルタ後に表示される行の数を取得するには
Dim ws As Worksheet
Dim rng As Range
Dim visibleTotal As Long
'xlwkbOutput.Sheets("Sheet1")
Set rng = xlwkbOutput.Sheets("Sheet1").Range("A1:T" & lastRow&)
xlwkbOutput.Sheets("Sheet1").AutoFilterMode = False
rng.AutoFilter field:=1, Criteria1:="#N/A"
visibleTotal = Application.WorksheetFunction.Sum(rng.SpecialCells(xlCellTypeVisible))
' print to the immediate window
Debug.Print visibleTotal
試してみるときに呼び出されています範囲の1行目、すなわち:rng.SpecialCells(xlCellTypeVisible )。 rows.count – Asaf
提供されたanwersのいずれかがあなたを援助したのですか、あるいは直面している別の問題ですか? – RCaetano