Copy a code module from one workbook to another

fuzzymonkey

New Member
Joined
Feb 8, 2006
Messages
33
I need to copy a code module (say Module1) from the ActiveWorkBook into another workbook (say Book2) using VBA. I can do it in the editor, but am trying to automate this.
 

Excel Facts

Repeat Last Command
Pressing F4 adds dollar signs when editing a formula. When not editing, F4 repeats last command.
Hello

For example:
Code:
[COLOR="Blue"]Public[/COLOR] [COLOR="Blue"]Sub[/COLOR] CopyModule()
    [COLOR="Blue"]Const[/COLOR] strModName [COLOR="Blue"]As[/COLOR] [COLOR="Blue"]String[/COLOR] = "C:\TempMod.BAS"
    
    ActiveWorkbook.VBProject.VBComponents("MyModule").Export fielname:=strModName
    Workbooks(2).VBProject.VBComponents.Import Filename:=strmodnamme
    [COLOR="Blue"]Kill[/COLOR] strModName
[COLOR="Blue"]End[/COLOR] [COLOR="Blue"]Sub[/COLOR]
 
Upvote 0
Hi

Another option is to copy directly the text from one module to the other. This avoids creating/deleting an auxilliary file.

Try:

Code:
Public Sub CopyModule()
Dim VBCodMod1 As Object, VBCodMod2 As Object
 
Set VBCodMod1 = Workbooks("Book1").VBProject.VBComponents("Module1").CodeModule
Set VBCodMod2 = Workbooks("Book2").VBProject.VBComponents.Add(1).CodeModule
VBCodMod2.DeleteLines 1, VBCodMod2.CountOfLines
VBCodMod2.AddFromString VBCodMod1.Lines(1, VBCodMod1.CountOfLines)
End Sub
 
Upvote 0

Forum statistics

Threads
1,214,958
Messages
6,122,475
Members
449,087
Latest member
RExcelSearch

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top