我试图搜索一个数组,然后对找到的行进行调整。查找从找到的第二个实例开始,如何使它成为第一个实例?
val = MySheet.Range("B8")
With MySheet.Range("MyList")
Set Loc = .Find(val, LookAt:=xlWhole, SearchOrder:=xlByRows)
Do
ListPos = Loc.Row
MyVal = MySheet.Cells(ListPos, 6).Value
MsgBox ListPos
Val = x MyList = {x,z,y,f,g,x,x}(我命名的1列范围)
MsgBox始终显示数组中第二个实例的行值
我尝试使用搜索顺序,并且尝试使用After:= 0,但没有帮助
我期望ListPos为1,而始终为6
答案 0 :(得分:1)
我认为您需要下面的After:=
示例。
Set foundMatch = .Find(What:=cellCriteria, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False) 'finds a match