从变量工作簿

时间:2017-05-29 05:43:07

标签: excel vba excel-vba

需要你帮助我的宏

我尝试从2个差异工作簿中查看vlookup。我的工作簿中的一个将按日期每天更改名称。我已经得到那个部分了。现在我坚持如何将变量工作簿变暗以在vlookup公式中使用。在这里我的代码 我想暗淡OCBReport。

Sub Part_ETA_PLANNER()
'
'Part ETA PLANNER Macro
'

    '
    'Find OCB PLanner Today
    Dim OCBDaily As Workbook
    Dim t As Workbook

    For Each t In Workbooks
        If Left(t.Name, 11) = "OCB_Report_" Then
            Set OCBDaily = Workbooks(t.Name)
        End If
    Next t

    'Variable Dim
    Dim PartNumber, myRange As Long
    Dim OCBReport As Sheets

    Set OCBReport = "[ & OCBDaily & ]OCB" ' I got error on this part'
    PartNumber = Range("L2").Offset(0, -10).Address(0, 0)
    myRange = "'" & OCBReport & "'!C:W"

    'Vlookup Part ETA planner
    Dim LastRow  As Long
    LastRow = Sheets("Unfulfilled Daily Report").Range("E" & Rows.Count).End(xlUp).Row
    Sheets("Unfulfilled Daily Report").Range("L2").Formula = "=VLOOKUP(" & PartNumber & "," & myRange & ", 21, FALSE)"
    Sheets("Unfulfilled Daily Report").Range("L2").AutoFill Destination:=Range("L2:L" & LastRow)
    Sheets("Unfulfilled Daily Report").Range("L2:L" & LastRow).Copy
    Sheets("Unfulfilled Daily Report").Range("L2:L" & LastRow).PasteSpecial xlPasteValues
    Range("B2").Select
End Sub

2 个答案:

答案 0 :(得分:1)

您需要的是String变量。此外,如果您将变量放在引号内,那么它将表现得像一个字符串。此外,OCBDaily.Name会为您提供可以包含在"[]"

中的工作簿名称

更改

Dim OCBReport As Sheets
Set OCBReport = "[ & OCBDaily & ]OCB" ' I got error on this part'

Dim OCBReport As String
OCBReport = "[" & OCBDaily.Name & "]OCB"

答案 1 :(得分:0)

如果我正确理解了您的部分代码,则需要将其更改为:

Set OCBReport = OCBDaily.worksheets("OCB")

您的尝试尝试将工作表变量设置为字符串,该字符串应该给出类型错误。 'OCB'应该是想要的工作表的名称。

问候, Krossi