【问题标题】:Vlookup table to copy sheet to other workbook vbaVlookup表将工作表复制到另一个工作簿vba
【发布时间】: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() 放在同一个ActiveWorkbookSheet1 中?即,您在这里使用 2 个不同的工作簿,对吗?你需要在这段代码中区分它们吗?还是我误解了您要完成的工作?

标签: excel vlookup worksheet vba


【解决方案1】:

可能是因为您缺少 vlookup 的最后一个参数,导致函数在与您的范围不匹配时返回近似值,因此您需要在关闭括号之前添加“, FALSE”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    相关资源
    最近更新 更多