将PERSONAL.XLSB中的工作表代码模块复制到新工作簿

时间:2014-02-12 16:40:46

标签: excel vba excel-vba

我正在编写试图将代码模块和用户表单从PERSONAL.XLSB复制到新工作簿的代码。代码应将以下内容从PERSONAL.XLSB!Sheet1复制到新工作簿Book1.xlsx!Sheet1。代码运行没有错误,但代码不复制。 Book1.xlsx!Sheet1仍为空。非常感谢任何帮助。

Private Sub Workbook_FollowHyperlink(ByVal Target As Hyperlink)

    If Target.TextToDisplay = "Click to Run Hello World" Then
       Run HelloWorld
    End If

End Sub

PERSONAL.XLSB!Module1中的宏复制代码:

Sub CodeCopy()

'Macro to copy the macro module from PERSONAL.XLBS!Sheet1 to Test.xls!Sheet1.

Dim i          As Integer
Dim NewSh      As Worksheet
Dim SrcCmod    As VBIDE.CodeModule
Dim DstCmod    As VBIDE.CodeModule

Set SrcCmod = Workbooks("PERSONAL.XLSB").VBProject.VBComponents("Sheet1").CodeModule
Set DstCmod = Workbooks("Book1.xlsx").VBProject.VBComponents("Sheet1").CodeModule

For i = 1 To SrcCmod.CountOfLines
    DstCmod.InsertLines i, SrcCmod.Lines(i, 1)
Next i

End Sub

1 个答案:

答案 0 :(得分:0)

考虑解决方法 - 仅将PERSONAL.XLSB!Sheet1复制到新工作簿。包含的代码也将被复制。

Sub CopySheetCode()

    Dim CurrentSheet As Worksheet

    Windows("PERSONAL.XLSB").Activate
    Worksheets("Sheet1").Copy Before:=Workbooks("Book1.xlsx").Sheets(1)

End Sub
相关问题