目前我有一个在另一个文档中查找的宏,如果存在值,则复制一个偏移单元格。我已经有了下面的代码(只有选择/复制偏移单元的部分),但它只会复制一行。这对我正在寻找的大多数物品都很好。有谁知道如何修改下面的代码来复制包含我搜索值的所有单元格?
For I = LBound(MyArr) To UBound(MyArr)
Set Rng = .Find(What:=MyArr(I), _
After:=.Cells(.Cells.Count), _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
FirstAddress = Rng.Address
Do
'mark the cell in the column to the right if "Ron" is found
Rng.Offset(0, 4).Select
'Rng.Copy "A" & Rcount
Set Rng = .FindNext(Rng)
Loop While Not Rng Is Nothing And Rng.Address <> FirstAddress
Selection.Copy (Rng)
End If
Next I
End With
答案 0 :(得分:0)
我建议的是.Find方法的循环。
所以你有一系列数据,即MyArr想象它的50个项目。你希望从0到50看起来,直到找到你的物品。
让我们说你在位置8找到它。现在你做了另一次搜索,但这次是从第9项到第50项,看看你是否找到了匹配。如果你不知道没有更多。如果你这样做,你重复上面的内容,直到你的阵列中的元素用完(范围)或你没有更多的匹配。这有意义吗?