Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 从可变工作簿调整工作表的尺寸_Vba_Excel - Fatal编程技术网

Vba 从可变工作簿调整工作表的尺寸

Vba 从可变工作簿调整工作表的尺寸,vba,excel,Vba,Excel,我的宏需要你的帮助吗 我试着从2个不同的练习册中学习。我的工作簿中的1个将根据日期每天更改名称。我已经得到那个角色了。现在我陷入了如何在vlookup公式中使用变暗工作簿的困境。这是我的密码 我想去看电影 Sub Part_ETA_PLANNER() ' 'Part ETA PLANNER Macro ' ' 'Find OCB PLanner Today Dim OCBDaily As Workbook Dim t As Workbook For E

我的宏需要你的帮助吗

我试着从2个不同的练习册中学习。我的工作簿中的1个将根据日期每天更改名称。我已经得到那个角色了。现在我陷入了如何在vlookup公式中使用变暗工作簿的困境。这是我的密码 我想去看电影

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

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

Set OCBReport = OCBDaily.worksheets("OCB")
您试图将工作表变量设置为字符串,这将导致类型错误。”“OCB”应为所需工作表的名称

您好, Krossi

您需要的是一个字符串变量。此外,如果将变量放在引号内,则其行为将类似于字符串。此外,OCBDaily.Name将为您提供工作簿名称,您可以将其封装在[]中

改变

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


您不能将OCBReport设置为工作表或工作表,因为您正在使用myRange='&OCBReport&'!C:W构造一个字符串,因此OCBReport基本上只能作为字符串变暗。另外,在集合OCBReport=[&OCBDaily&]OCB中出现的错误是因为没有正确使用双引号。应该是:OCBReport=[&OCBDaily&]OCB谢谢。今天学点东西。所以我们循环的所有变量都需要相同的构造,对吗?谢谢。我将所有变量调暗为字符串,并使其工作。非常感谢
Dim OCBReport As String
OCBReport = "[" & OCBDaily.Name & "]OCB"