首页 > 解决方案 > 带有 selection.rows.count 的 vba 数字错误

问题描述

我对vba有一点问题。我想使用 Rows.Count 但它不会正确计数。

在我的工作表“今年”中,我想过滤一些项目编号。当我过滤时,我会得到一个长度不同的列表,有时一个项目编号中有 5 行,有时是 10 行。有时它也是空的。这就是为什么我选择从 2 到 100 的所有行,切断所有空行,而不是想要使用 Rows.Count 函数。但它不会以正确的方式计算。在 project-number1 中有 3 行,但 msgBox 给了我 99 的数字,我不知道为什么。

Sheets("thisyear").Range("$A$1:$J$735").AutoFilter Field:=4, Criteria1:= _
    "project-number1"
Rows("2:100").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
MsgBox Selection.Rows.Count

我希望有一个人可以帮助我!

完整代码:

Sheets("August").Range("$A$1:$J$735").AutoFilter Field:=4, Criteria1:= _
    "project-number1"
Rows("2:3000").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
If Selection.Rows.Count >= "30" Then
Sheets("Daten-August").Select
LastCellColRef = 1
Set LastCell = Sheets("Daten-August").Cells(Rows.Count, LastCellColRef).End(xlUp).Offset(1, 0)
Range(LastCell.Address).Select
ActiveCell.FormulaR1C1 = "_"
Else
Selection.Copy
Sheets("Daten-August").Select
LastCellColRef = 1
Set LastCell = Sheets("Daten-August").Cells(Rows.Count, LastCellColRef).End(xlUp).Offset(1, 0)
Range(LastCell.Address).Select
Sheets("Daten-August").Paste
Set LastCell = Sheets("Daten-August").Cells(Rows.Count, LastCellColRef).End(xlUp).Offset(1, 0)
Range(LastCell.Address).Select
ActiveCell.FormulaR1C1 = "_"
End If

标签: excelvbafunctioncount

解决方案


推荐阅读