【发布时间】:2019-07-15 21:28:02
【问题描述】:
我有一个自动过滤范围的工作表,该范围从单元格 B3 开始。 A 列包含一些宏按钮,但实际上是空白的。前两行包含有关主范围内数据的信息。
在 VBA 中,我使用我认为是确定工作表中最后一行的标准方法(在这种情况下,我不能在单个列上依赖 .End 方法):
LastRow = Activesheet.Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
但是,有时即使我有数千行数据,它也会返回一个值。似乎只有在设置了过滤器时才会这样做(但仍有可见的行中包含数据),但即便如此它并不总是发生,我也看不到它的模式。
我知道还有其他解决方案 - 我已改为使用 UsedRange 技术,但令人沮丧的是,这个特定的解决方案失败了,因为在这种情况下它本来是最有效的解决方案。
有人知道为什么会这样吗?
【问题讨论】:
-
我发现 Find 方法有时很奇怪。您是否尝试过在
Find调用中指定Lookin:=xlValues(或者如果所有公式都切换到xlFormulas)?
标签: vba excel autofilter