我正在使用两本工作簿。在一个工作簿中,我有一个模板和一个查找表。在另一本工作簿中,我有很多只有少数名为alpha的工作表。
查找表有一个用于alpha表名称的列,另外两列包含要重命名工作表的值。
我基本上需要复制模板并将其粘贴到第二个工作簿中,用于名称中包含alpha的每个工作表,并将模板重命名为查找表中的值。我目前在让vlookup工作时遇到问题。虽然ws.name正在返回正确的值,但是我的" a"即使第一列应该是1比1匹配,值也不匹配。
到目前为止,我的代码如下。
For Each ws In ActiveWorkbook.Sheets
If LCase(ws.Name) Like "*alpha*" Then
a = Application.WorksheetFunction.VLookup(ws.Name, Sheet1.Range("A2:D24"), 1)
Debug.Print ws.Name
Debug.Print a
End If
Next ws
答案 0 :(得分:0)
可能是因为你缺少vlookup的最后一个参数,导致函数在与你的范围不匹配时返回aproximate值,所以你需要在关闭括号之前加上“,FALSE”