我正在编写试图将代码模块和用户表单从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
答案 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