Vba 合并单元格时找不到单元格

Vba 合并单元格时找不到单元格,vba,excel,Vba,Excel,我正在使用查找功能查找“苹果”单元格,当“苹果”单元格未与其他单元格合并时,该功能运行良好 Cells.Find("apple") 我的问题是,合并后,我找不到“苹果”单元。我尝试跟随if语句,但它保持返回“notfound”。任何答案都是非常感谢的 Set obj = Cells.Find("apple") If obj Is Nothing Then Debug.Print "Not found" End If 于2014/02/17 15:30JST更新 我发现了问题,我想可

我正在使用查找功能查找“苹果”单元格,当“苹果”单元格未与其他单元格合并时,该功能运行良好

Cells.Find("apple")
我的问题是,合并后,我找不到“苹果”单元。我尝试跟随if语句,但它保持返回“notfound”。任何答案都是非常感谢的

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”单元格


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

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

Find("apple", SearchDirection:=xlPrevious)

非常感谢您的帮助。

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

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


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

尝试显式设置“查找”的其他选项。设置从以前的美国保存下来。我尝试过了,效果很好。你确定这不是因为其他问题吗?是的,@TimWilliams是正确的。
.Find
始终记得上次的设置。这是非常有益的,尤其是当您必须反复使用
.Find
或使用
.FindNext
时。例如,如果单元格中有
APPLE
APPLE
oe
APPLE
如果
MatchCase:=True
,则您的代码可能无法工作,因此您应该始终明确指定
的参数。Find
.Ya,您是对的。我通过添加选项
SearchDirection:=xlPrevious
解决了这个问题。非常感谢你。