【问题标题】:Unable to find cell when cell is merged合并单元格时找不到单元格
【发布时间】:2014-02-17 01:49:31
【问题描述】:

我正在使用查找功能来寻找“苹果”单元格,当“苹果”单元格没有与其他单元格合并时,它工作得很好

Cells.Find("apple")

我的问题是合并时找不到“苹果”单元格。我尝试遵循 if 语句,但它一直返回 “未找到”。任何答案都非常感谢。

Set obj = Cells.Find("apple")
If obj Is Nothing Then
    Debug.Print "Not found"
End If

更新于 2014/02/17 15:30JST

我发现了问题,我想可能是错误。 如果合并的单元格包含“A1”处的单元格,则无法找到“apple”单元格。未与“A1”单元格合并时可以找到“apple”单元格。

可以找到“apple”单元格

“苹果”单元格找不到


更新于 2014/02/17 16:00JST

我已经通过添加选项解决了上述问题

Find("apple", SearchDirection:=xlPrevious)

非常感谢您的帮助。

【问题讨论】:

  • 尝试明确设置查找的其他选项。设置保留从以前的我们。
  • 我试过了,效果很好。确定不是其他问题?
  • 是的,@TimWilliams 是正确的。 .Find 总是记住最后的设置。这很有用,尤其是在您必须重复使用.Find 或使用.FindNext 时。例如,如果单元格具有 APPLEAPpleaPPle 如果是 MatchCase:=True,则您的代码可能不起作用,因此您应该始终明确指定 .Find 的参数。

标签: vba excel


【解决方案1】:

除了第一个“要查找的内容”参数之外,您还可以将多个其他选项传递给 Find()

如果您只通过第一个,您可能会得到与您预期不同的行为,特别是如果您之前使用过 Find() 并设置了一个或多个参数:这些设置在调用中保持不变,并将影响以后Find() 的使用。

因此,最好始终将其他参数与第一个参数一起传递。

【讨论】:

  • 是的,你是对的。我通过添加选项SearchDirection:=xlPrevious 解决了这个问题。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 1970-01-01
  • 2017-07-24
  • 2020-11-14
  • 2019-08-02
  • 1970-01-01
  • 2018-03-21
相关资源
最近更新 更多