此问题在此处已有答案:
Find last used cell in Excel VBA(14个答案)
3天前关闭。
我目前使用此代码确定Sheet1的A列中包含数据的最后一行
lrow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
问题是,当我在一个用Excel从数据库中提取的表中使用它时,它总是将表中的最后一行作为“lrow”,即使该行中没有数据。
我记得很久以前有过这个问题,我发现还有另一种方法可以编写查找lrow的代码,该代码实际上适用于来自数据库并链接到数据连接的表。但今天我一直在寻找它,但找不到它。
有人能帮我一下吗?谢谢
2条答案
按热度按时间ep6jt1vc1#
最后一排
Find
方法,如以下代码所示。""
的公式的单元格,你将使用xlValues
而不是xlFormulas
。xlFormulas
将工作,即使行是隐藏的(不过滤),而xlValues
不会。快速修复(不推荐)
末行
范围(更有用)
Q&A
A2:A1048576
(旧版本中为A2:A65536
)的方法,即要搜索的范围。What
,第三个-LookIn
,第六个-SearchDirection
。第二个参数的默认参数After
是范围的第一个单元格(在本例中为A2
),第4个参数LookAt
不相关,因为我们使用了通配符,而第5个参数,当在单列或单行中执行此操作时,SearchOrder
无关紧要。最后3个参数(总共9个)不值得一提。2o7dmzc52#
这可能是“使用范围”不正确。使用范围包括任何曾经使用过的单元格,即有数据但随后数据被删除。
尝试在代码重新计算使用范围之前运行类似这样的代码。
有时候这并不总是有效的。在这种情况下你可能想试试