【问题标题】:Copy Sheet code module from PERSONAL.XLSB to new workbook将工作表代码模块从 PERSONAL.XLSB 复制到新工作簿
【发布时间】:2014-03-11 03:18:50
【问题描述】:

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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    想了一个变通办法——只需将 PERSONAL.XLSB!Sheet1 复制到新工作簿。包含的代码也会被复制。

    Sub CopySheetCode()
    
        Dim CurrentSheet As Worksheet
    
        Windows("PERSONAL.XLSB").Activate
        Worksheets("Sheet1").Copy Before:=Workbooks("Book1.xlsx").Sheets(1)
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2013-03-11
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      相关资源
      最近更新 更多