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(, 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模块代码

原文件下载

上一篇:selenium webdriver (python) 第一版PDF


下一篇:consul UI用127可以访问,指定ip无法访问