【问题标题】:VBA copy sheet to multiple workbookVBA将工作表复制到多个工作簿
【发布时间】:2023-01-10 01:04:40
【问题描述】:

我正在尝试使用以下代码将主文件中的工作表复制到同一文件夹中的多个 excel 文件,

Sub Copy_Sheet_to_new_workbooks()

Dim MyFolder As String
Dim MyFile As String

MyFolder = "G:\Corpdata\Community Division\Team\Divisional BAU\21. Serious Incidents from June 2021\Data analysis\All_Data"

MyFile = Dir(MyFolder & "\*.xlsx")

Do While MyFile <> ""
           
    Workbooks("All_Data.xlsk").Sheets("Table2").Copy After:=Workbooks(MyFile).Sheets.Count
    ActiveWorkbook.Close SaveChanges:=True

MyFile = Dir$ 'goes to next entry
Loop

End Sub

但是,当我运行此代码时,出现下标超出范围错误。我尝试了许多修复,但不断收到相同的错误消息。

【问题讨论】:

  • 文件名中的拼写错误:"All_Data.xlsk" - 可能应该是xlsx?
  • 恐怕还没有修好

标签: excel vba


【解决方案1】:

您需要在使用工作簿之前打开它,例如将工作表复制到其中。

MyFile = Dir(MyFolder & "*.xlsx")
Do While MyFile <> ""
    Dim MyWorkbook as Workbook
    Set MyWorkbook = Workbooks.Open(MyFolder & "" & MyFile)
    Workbooks("All_Data.xlsx").Sheets("Table2").Copy After:=MyWorkbook.Sheets.Count
    MyWorkbook.Close SaveChanges:=True

    MyFile = Dir 'goes to next entry
Loop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多