我可能有一个愚蠢的问题,但我有一个宏,它通过不同的工作簿,并执行vlookups。不幸的是,对于其中一个vlookup,我没有得到结果,也无法真正理解它。
代码:
Workbooks("export_z002.xlsx").Worksheets("Sheet1").Activate
Dim Table_Z002 As Range
Set Table_Z002 = Workbooks("export_z002.xlsx").Worksheets("Sheet1").Range("F:G")
Workbooks("export_add_info.xlsx").Worksheets("Sheet1").Activate
Dim newRow As Integer
Dim newCL As String
On Error Resume Next
newRow = 2
While ActiveSheet.Cells(newRow, 1).Value <> ""
newCL = ActiveSheet.Cells(newRow, 2)
ActiveSheet.Cells(newRow, 4) = Application.WorksheetFunction.VLookup(newCL, Table_Z002, 2, 0)
newRow = newRow + 1
Wend
End Sub
我在多个场合使用了相同的方法,包括在这个宏内部,它工作正常(说它因为我知道很多人喜欢用for循环,但我发现While循环逻辑更容易。)重要要说的是这个vlookups传输大数字(整数)。
bot工作表中的数据格式相同 - 一般,数字存储为文本。我尝试在vlookup之前将格式更改为数字或文本,但它不起作用... 我希望有人可以帮助我,因为它让我发疯。除了格式化之外,还有其他原因可能不起作用吗?
此致 米哈伊尔