代码之家  ›  专栏  ›  技术社区  ›  Error 1004

将工作簿分配给变量-VBA

  •  0
  • Error 1004  · 技术社区  · 1 年前

    我有以下代码,它将工作簿另存到新位置,并将新文件分配给新变量。但是,代码的第二部分,即将新工作簿分配给新变量的部分,给了我一个错误 Out of subscription .

    我有用 Dir 函数用于检查文件是否已删除。

    有什么想法吗?

    Declare workbooks
    Dim wb As Workbook
    Dim newwb As Workbook
    
    'Save as new workbook
        wb.SaveAs Filename:="C:\Users\XXXX\Desktop\Workspace\XXXX Tool\XXXX Workbook " & strYear & ".xlsm", FileFormat:=52`
           
    'Set the new workbook
        Set newwb = Workbooks("C:\Users\XXXX\Desktop\Workspace\XXXX Tool\XXXX Workbook " & strYear & ".xlsm")
    
    1 回复  |  直到 1 年前
        1
  •  1
  •   FunThomas    1 年前

    保存或打开工作簿时,需要指定完整路径。但是,当从访问工作簿时 Workbooks -按名称收集,您需要使用不带路径的文件名。

    Const Path = "C:\Users\XXXX\Desktop\Workspace\XXXX Tool\"
    Dim filename As String
    filename = "XXXX Workbook " & strYear & ".xlsm"
    
    Dim newwb As Workbook
    wb.SaveAs filename:=Path & filename, FileFormat:=52
    Set newwb = Workbooks(filename)