小编Nic*_*las的帖子

Range.Find在隐藏和过滤器的一部分的范围上失败

我在Excel 2003中遇到一个奇怪的问题,在搜索隐藏的单元格中的值和过滤范围的一部分时,Range.Find方法失败.

要清楚,这是有问题的方法调用:

Cells.Find(SearchString, LookIn:=xlFormulas, LookAt:=xlWhole)
Run Code Online (Sandbox Code Playgroud)
  • 如果仅隐藏包含SearchString的单元格,则Range.Find可以正常工作.
  • 如果包含SearchString的单元格只是过滤范围的一部分(但未隐藏),则Range.Find可以工作.
  • 如果包含SearchString的单元格都被隐藏(通过过滤器或其他方式),并且AND是过滤范围的一部分,则Range.Find将失败.

各种Excel网站和论坛上的许多消息来源都声称指定"LookIn:= xlFormulas"将强制Range.Find在隐藏单元格内进行搜索.虽然没有意义,但如果SearchString位于隐藏的单元格中,那似乎也是如此.如果单元格隐藏又是过滤范围的一部分,则会失败.

请注意,过滤器是否隐藏了单元格并不重要.例如,您可以搜索过滤范围的标题(过滤器本身永远不会隐藏),但如果该标题恰好位于您隐藏的列中,则Range.Find将失败.

是否有任何Excel方法可以可靠地搜索单元格而不考虑它们是否恰好被隐藏和/或过滤器的一部分?

excel vba excel-vba

6
推荐指数
1
解决办法
2052
查看次数

标签 统计

excel ×1

excel-vba ×1

vba ×1