Excel VBA range.find不会返回第一个外观?

我在工作表中有以下值:

A1: apple B1: orange C1: pear D1: apple pie E1: papaya F1: blueberry G1: apple 

我的代码:

 t=rows(1).find("apple").column 

为什么我的代码返回7而不是1?

提前致谢。

您的编码单元格A1 之后进行search。 有很多方法可以让search包括 A1 。 这里是一个:

 Sub durals() Dim r As Range, r2 As Range Dim t As Long Set r = Range("1:1") Set r2 = r(1, Columns.Count) t = r.Find(What:="apple", After:=r2).Column MsgBox t End Sub 

在这里输入图像说明