VBA复制模块从一个工作簿到另一个工作簿

时间:2016-04-05 16:42:59

标签: excel vba excel-vba

您好,感谢您阅读我的问题。我正在尝试创建一个自动脚本,将模块从一个工作簿导出到另一个新工作簿

            ThisWorkbook.Activate
        ActiveWorkbook.VBProject.VBComponents("Coexis_BitAND").Export ("c:\Coexis_BitAND.bas")
        wbNew.Activate
        ActiveWorkbook.VBProject.VBComponents.Import ("c:\Coexis_BitAND.bas")

然而,当我在步骤点击" ActiveWorkbook.VBProject.VBComponents(" Coexis_BitAND")后逐步执行代码。导出(" c:\ Coexis_BitAND.bas&# 34)"它跳转到我的一个OnError Goto' s。

我已经读过它可能会这样做,但还没有找到有用的东西,我确定它必须像我缺乏VBA经验一样简单

3 个答案:

答案 0 :(得分:1)

假设两本工作簿同时打开,请尝试一下

Dim comp as VBComponent
Set comp = ThisWorkbook.VBProject.VBComponents("Coexis_BitAND")
Workbooks("otherWorkbookName").VBProject.VBComponents.add comp

答案 1 :(得分:0)

有些时候在编程VBIDE时无法单步执行代码。即使您的代码是100%,它也会在步骤中出错。

在BugOut&让它跑到停止。如果它仍然在您的代码中遇到错误。您可以针对Chips函数验证您的代码:

答案 2 :(得分:0)

这是我发现的工作,从最初的答案,感谢所有的帮助。

        If DUTs = 0 Then
        '----- WARNING VBA Macro Settings must Trust access to VBA Project Object Models.
        '----- Antivirus may detect this action and delete this file!
        filePath = ActiveWorkbook.Path
        ThisWorkbook.Activate
        ActiveWorkbook.VBProject.VBComponents("Coexis_BitAND").Export (filePath + "\Coexis_BitAND.bas")
        wbNew.Activate
        ActiveWorkbook.VBProject.VBComponents.Import (filePath + "\Coexis_BitAND.bas")

    End If