【问题标题】:Run-time error '9' when copying worksheet to another workbook将工作表复制到另一个工作簿时出现运行时错误“9”
【发布时间】:2013-07-17 13:55:04
【问题描述】:

我一直在尝试编写一个宏来将“Sheet1”从一个工作簿复制到另一个工作簿,但我不断收到运行时错误“9”:下标超出范围。

Sub CopySheetToOtherWbk()

Dim CopyFromBook As Workbook
Dim CopyToWbk As Workbook
Dim ShToCopy As Worksheet

Set CopyFromBook = Workbooks("AllBugs.xlsx")
Set ShToCopy = CopyFromBook.Worksheets("Sheet1")
Set CopyToWbk = Workbooks("YourFriendlyNeighborhoodTemplateWorksheet.xlsx")

ShToCopy.Copy After:=CopyToWbk.Sheets(CopyToWbk.Sheets.Count)

End Sub

突出显示的行是“Set CopyFromBook = Workbooks("AllBugs.xlsx")”。不知道我在这里做错了什么。 VBA 相对较新。任何帮助表示赞赏。

【问题讨论】:

    标签: excel runtime-error worksheet vba


    【解决方案1】:

    Workbooks 集合指的是所有当前打开的工作簿。如果工作簿未打开,您需要先执行此操作。

    Set CopyFromBook = Workbooks.Open("C:\Some Location\AllBugs.xlsx")
    

    【讨论】:

    • 我试过了,现在我得到一个运行时错误“1004”。它说找不到文件。我复制粘贴了文件的路径并对文件名做了同样的事情。我不知道这里出了什么问题。 Set CopyFromBook = Workbooks.Open("C:\Users\my.name\Desktop\CopyTest\AllBugs.xlsx") 编辑:忘记添加代码
    • 需要一些基本的调试:再次检查路径、文件名和EXTN;创建一个仅使用此 Open 语句的简单过程;尝试使用 C: 驱动器等的示例文件。确保工作簿尚未打开。
    • 现在工作!我错过了它是 .xlsm 而不是 .xlsx。愚蠢的错误。感谢您的帮助!
    • 他,他,我猜到了;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 2014-02-18
    • 2017-09-18
    • 1970-01-01
    相关资源
    最近更新 更多