我有一个关于如何在excel vba中找到最后一行的查询 . 我目前正在开发一个项目,要求我找到这个名为 Annex 1A
的特定工作表的最后一行 .
工作表的剪辑图如下所示:
例如,从上图中, Row 32
和 Row 33
包含空值,我想得出正在使用的行总数 .
我尝试过以下方法:
方法1
LastRow = Sheets("Annex 1A").Cells.Find(What:="*", _
After:=Sheets("Annex 1A").Range("B1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
方法2
LastRow = Sheets("Annex 1A").Range("B" & Sheets("Annex1A").Rows.Count).End(xlUp).Row
LastRow
值将始终返回 31
而不是 33
. 有没有其他方法可以导出 33
的值?
2 回答
这个方法在我需要它的90%的时间里对我有用:
我知道你已经接受了答案,但这可能对其他人有用 .
UsedRange
经常被避开,因为它可能不可靠 . 但是,在这种情况下它确实有一个地方,可能会为你做的伎俩 .但是,如果您希望重新获得
UsedRange
的完全控制权,那么将UsedRange
与一些定制单元格检查相结合的方法可能就是答案 . 在您的情况下,可能是一个查找非空单元格或阴影单元格的示例 .