这是我的Excel数据
我正在尝试在第1行和第2行中查找单元格数据
arrCols = Array("APPLE", "ORANGE")
With Sheet1
For i = LBound(arrCols) To UBound(arrCols)
Set colHeader = .Rows(1).Find(arrCols(i), , xlValues, xlWhole, xlByColumns, xlNext, False)
Debug.Print arrCols(i) & "=" & colHeader.Address
Set colDiff = .Rows(2).Find("test", , xlValues, xlWhole, xlByColumns, xlNext, False)
Debug.Print "test =" & colDiff.Address
Next
End With
这是当前输出
APPLE=$A$1
test =$D$2
ORANGE=$D$1
test =$D$2
如您所见,在第2行中,Excel找不到第一次出现的搜索数据。我在做错什么,如何获得第一个“测试”地址?
编辑-即使我注释掉循环并找到第1行,第2行的.Find
仍然可以正常工作。
预期产量
APPLE=$A$1
test =$A$2
ORANGE=$D$1
test =$D$2
答案 0 :(得分:1)
这是对代码的修改,应该可以为您提供所需的输出。
我在10
方法中使用了After
选项。
Find
答案 1 :(得分:0)
这是因为循环将在它首先找到“测试”的位置的整个范围内运行,因此只会输出最后一次出现的结果。如果您不希望首次打印该项目,则可以在第一次找到该项目时退出循环。