Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码

Posted ukeedy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码相关的知识,希望对你有一定的参考价值。

即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿。下面是关键代码:

        \'======================================================================
        \'各班名单保存为单个xls文件
        ActiveSheet.Move
        ChDir myPath
        \'忽略对话框,覆盖保存
        Application.DisplayAlerts = False
        
        \'班级名称增加“考生号处理”vba模块
        Dim iCodeLines As Integer
        Dim sCode As String
        iCodeLines = ThisWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.CountOfLines \'取得模块中代码行数
        sCode = ThisWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.Lines(1, iCodeLines) \'取得第1至iCodeLines行代码
        
        ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "各班考号处理" \'新文件中添加“各班考号处理”模块
        ActiveWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.AddFromString sCode \'把thisworkbook的“各班考号处理”模块代码添加到activeworkbook的模块中
        ActiveWorkbook.SaveAs Filename:=myPath & "\\2017级" & dickey & classTeacher & ".xls", FileFormat:=xlExcel8 \'文件另存为2003版(xlExcel8)xls文件

        ActiveWindow.Close

即将下图中的“各班考号处理”模块拷贝至新工作簿

 

原文件下载

以上是关于Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA 在工作表中插入/删除行

如何在excel 用VBA插入多个工作表并命名。要用到宏。给分给分~

使用Excel VBA,如何将某一个工作表保存到新建的Excel中?

如何使用Excel VBA仅更新特定工作表中的链接,而不是整个工作簿?

用VBA代码打开其他excel工作簿(有打开密码的)???

vba excel怎么获取指定工作表的行数、列数