【发布时间】:2018-05-07 22:06:23
【问题描述】:
我正在处理两个工作簿。在一个工作簿中,我有一个模板和一个查找表。在另一个工作簿中,我有很多工作表,其中只有几个名为 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
【问题讨论】:
-
您是否正在尝试将您的
vlookup()放在同一个ActiveWorkbook的Sheet1中?即,您在这里使用 2 个不同的工作簿,对吗?你需要在这段代码中区分它们吗?还是我误解了您要完成的工作?
标签: excel vlookup worksheet vba