即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿。下面是关键代码:
'======================================================================'各班名单保存为单个xls文件 ActiveSheet.MoveChDir myPath'忽略对话框,覆盖保存Application.DisplayAlerts = False'班级名称增加“考生号处理”vba模块Dim iCodeLines As IntegerDim sCode As StringiCodeLines = 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 & "\级" & dickey & classTeacher & ".xls", FileFormat:=xlExcel8 '文件另存为版(xlExcel8)xls文件ActiveWindow.Close
即将下图中的“各班考号处理”模块拷贝至新工作簿
原文件下载