excel - 当最后一行隐藏时查找 Excel 电子表格的最后一行

标签 excel excel-2007 vba

我正在尝试查找 A 列中包含具有以下代码的值的最后一行:

LastRow = DataWorksheet.Range("A:A").Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row

这对于大多数情况都适用,除了最后几行被过滤掉时。例如,假设我们有 30 行数据。如果第 1-10 行可见,第 11-20 行被过滤掉,第 21-30 行也可见,则它成功找到最后一行:它返回 30。当所有内容都可见并且第 21-30 行被过滤掉时,LastRow 返回 1。

请注意,如果我手动隐藏而不是过滤掉第 21-30 行,它会告诉我最后一行是 20。

什么给了?如果最后一行被过滤,如何让它确定最后一行是什么?

编辑:现在,LastRow 似乎正在挑选最后一个未过滤的行,这与其之前的行为明显不同。一旦我能够更好地隔离我遇到的错误/不一致,我就会更新这篇文章。

最佳答案

这些应该忽略过滤/可见性并为您提供最后使用的行号:

DataWorksheet.UsedRange.Rows.Count

-或-

DataWorksheet.Range("A1").SpecialCells(xlCellTypeLastCell).Row

两者都找不到 A 列中最后使用的单元格,但是...这是您需要的吗?

关于excel - 当最后一行隐藏时查找 Excel 电子表格的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14200392/

相关文章:

excel - 使用 VBA 使用 IF 在单元格中添加公式时出现问题

r - 从打开的 excel 工作表中获取数据到 R 中?

Excel VBA Target.address worksheet.onchange 无限循环

excel - 我必须在此 VBA 代码中添加什么才能使撤消按钮在运行后继续工作?

vba - 有没有办法在word文件打开时通过电子邮件通知

regex - 用于排除单位的单元格公式的正则表达式

excel - 棘手的 Excel 查找

excel - 将工作表分配给变量时出现运行时错误 13

excel - 如何应对100多条IF语句

oracle - 使用 ADO,如何调用 Oracle PL/SQL block 并指定输入/输出绑定(bind)变量(参数?)