【问题标题】:Access another workbook from current workbook which contains the macro从包含宏的当前工作簿访问另一个工作簿
【发布时间】:2013-01-29 08:56:21
【问题描述】:

我有一个以宏的形式为一个 Excel 工作表编写的代码,在这个宏中,我正在将当前工作簿的副本生成到不同的位置。现在,我需要访问这个复制的 excel 工作簿以从宏中删除它的一些工作表。 谁能告诉我如何从当前的 Excel 工作表宏中访问新复制的工作表?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    以下代码将允许您编辑工作簿的副本:

    子测试() 将 wb 调暗为工作簿 将 strName 变暗为字符串 strName = "" & ActiveWorkbook.Name ActiveWorkbook.SaveCopyAs 文件名:=strName 设置 wb = Workbooks.Open(strName) Application.DisplayAlerts = False '防止在删除工作表时询问用户 wb.Worksheets("Sheet1").Delete Application.DisplayAlerts = True wb.Close SaveChanges:=True 结束子

    【讨论】:

    • 嗨,彼得,感谢您如此迅速的回复。但我想我没有明白你想说什么。我需要从我当前的工作簿中访问另一个工作簿(在其后面编写了宏)。你能告诉我如何用你建议的方法来完成吗?我在尝试此建议代码时遇到的错误与类型不匹配有关。
    • 啊,我明白了——对不起!您如何创建工作表的副本?
    • 使用这一行 - ActiveWorkbook.SaveCopyAs FileName:="" & ActiveWorkbook.Name
    • 好吧,我用同一行打开了复制的工作簿。它不工作。我将文件路径和文件名及其扩展名传递给workbook.open;和你做的一样。收到错误 1004 应用程序定义或对象定义错误。
    • 我只是将它修改为使用相同的名称,请检查是否有效。如果不是:它真的可以保存工作簿吗?已经开了吗?
    猜你喜欢
    • 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
    相关资源
    最近更新 更多