版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。版权
Excel专栏收录该内容
9 篇文章1 订阅
订阅专栏
一、将一个工作簿中所有工作表单独保存为独立的文件
操作过程分三步:选中要复制的sheet,,复制(建立副本),保存后关闭新文件
Subsheet2file() Dim sht As Worksheet Dim file_name$ For Each sht In Sheets/*所有sheet遍历*/ sht.Copy/*复制sheet,如果是移动则用move*/ file_name= ThisWorkbook.Path&"\" & sht.Name & ".xlsx"/*拼接新文件的完整路径文件名*/ ActiveWorkbook.SaveAs Filename:=file_name, FileFormat _:=xlOpenXMLWorkbook, CreateBackup:=False/*保存*/ ActiveWindow.Close/*关闭窗口*/ Next End Sub
二、从独立工作簿复制合并到工作表
step1: 批量建工作表
step2:复制内容到对应sheet
情况1:默认文件名和sheet名一致
Subfile2sheet() Dim sht As Worksheet Dim file As Workbook Dim new_name$ For Each sht In Sheets file_name= ThisWorkbook.Path&"\" & sht.Name & ".xlsx"/*拼接文件名,默认文件名和sheet名一致*/ Set file=GetObject(file_name)/*获取文件对象*/ file.Sheets(1).Cells.Copy sht.Cells(1,1)/*复制单元格到对应sheet*/ Next End Sub
情况2:文件名和sheet名不一致
如果文件名和sheet名不一致,那么文件名就不该由sht.Name拼接,需要自定义
1.把所有的sheet列出来
Sublist_sheet() For i=1 To ThisWorkbook.Sheets.C