如何将excel中的每一个sheet单存成一个excel文件

由于sheet比较多,所以如果只是简单的复制粘贴会比较耗时,不知有哪位专家大牛可以给指点一种较为高效的办法,多谢拉~!

用VBA, 打开Excel的VBA编辑器 复制如下代码:

Sub Copy_Every_Sheet_To_New_Workbook()
'Working in 97-2007
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim sh As Worksheet
Dim DateString As String
Dim FolderName As String

With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With

'Copy every sheet from the workbook with this macro
Set Sourcewb = ThisWorkbook

'Create new folder to save the new files in
DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")
FolderName = Sourcewb.Path & "\" & Sourcewb.Name & " " & DateString
MkDir FolderName

'Copy every visible sheet to a new workbook
For Each sh In Sourcewb.Worksheets

'If the sheet is visible then copy it to a new workbook
If sh.Visible = -1 Then
sh.Copy

'Set Destwb to the new workbook
Set Destwb = ActiveWorkbook

'Determine the Excel version and file extension/format
With Destwb
If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007
If Sourcewb.Name = .Name Then
MsgBox "Your answer is NO in the security dialog"
GoTo GoToNextSheet
Else
Select Case Sourcewb.FileFormat
Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If .HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56: FileExtStr = ".xls": FileFormatNum = 56
Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
End If
End With

'Change all cells in the worksheet to values if you want
If Destwb.Sheets(1).ProtectContents = False Then
With Destwb.Sheets(1).UsedRange
.Cells.Copy
.Cells.PasteSpecial xlPasteValues
.Cells(1).Select
End With
Application.CutCopyMode = False
End If

'Save the new workbook and close it
With Destwb
.SaveAs FolderName _
& "\" & Destwb.Sheets(1).Name & FileExtStr, _
FileFormat:=FileFormatNum
.Close False
End With

End If
GoToNextSheet:
Next sh

MsgBox "You can find the files in " & FolderName

With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic

End With
End Sub

然后运行
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-08
如何将多个EXCEL文件合为一个EXCEL的不同工作表?

如何将excel多个sheet内容合并到一个工作簿中
excel表格下多个sheet内容汇总到一个表格中,可以按照以下步骤进行操作:1、打开EXCEL表格,点击数据选项卡中的“现有连接”。2、点击“浏览更多”。3、找到需要汇总的表格,点击打开。4、选中相关Sheet表格,点击确定。5、弹出导入数据对话框,点击确定。【加入社群一起学习】6、同步骤1~5,依次添加其他Sh...

怎样把EXCEL表格的一SHEET页单独保存为一个文件稿?
1、首先打开EXCEL表格,例如需要将成绩表这个SHEET页单独保存为一个文件稿。2、然后选择这个SHEET表格,右键单击此表格,点击移动或复制工作表进入。3、然后在弹出的移动或复制工作表里,在工作薄里面选项新工作薄,然后在建立副本前面打勾。4、设置完毕之后,点击确定,这样就可以将这个SHEET单独保存为一个...

怎样把EXCEL表格的一SHEET页单独保存为一个文件稿?
要将Excel表格中的一个Sheet单独保存为一个文件,首先打开您的Excel程序,找到包含所需数据的Sheet,比如成绩表。接着,右键点击这个Sheet,选择"移动或复制工作表"选项。在弹出的对话框中,确保选择"新工作簿",并在"建立副本"的复选框上打勾。这样做的目的是为了复制该Sheet的内容而创建一个新的独立...

多个表格怎么单独保存一个
excel保存单个表格方法:1、首先打开一个多工作表的excel表格,在需要单独保存的sheet工作表上点击鼠标右键,在弹出的选项中点击“移动或复制工作表”。2、然后页面会弹出“移动或复制工作表”对话框,将“工作簿”下的下拉框选择为“新工作薄”,点击确定。3、即可在表格中生成一个新的工作簿,该工作簿...

excel中有多个sheet 怎样调出单个sheet 独立成一个excel表
有很多种方法 1,你把文件复制一份到桌面,然后把里面你不需要的sheet文件删除,只保留你要的其中一个,保存即可;2,你新建excel文件,把原先要文件中你需要的那页sheet文件复制到新建excel文件中,保存即可。

Excel中如何单独保存sheet
首先鼠标左键选中sheet1,在按右键选择“移动或复制”。然后在弹出的移动或建立工作表对话框中,在工作簿中选择“新工作簿”。也可以根据需求确认是否建立副本,如果建立就在下方建立副本前的复选框勾选。如果不建立副本,则在原工作簿中,表1就会对应删除。最后确认之后,并会弹出一个工作表,表1单独...

如何把多张excel表格的数据导出到一张表格里
1. 打开Excel文件并选中其中一个sheet。2. 在“数据”选项卡中选择“从其他源”下拉菜单中的“从工作簿”命令。3. 在弹出的“选择要连接的数据源”对话框中,找到包含其他sheet的Excel文件,并选中它。4. 在“导入数据”对话框中,选择“使用数据模型”复选框,并选择要导入的sheet。5. 点击“加载...

多个sheet怎么合并成一个表格
多个sheet提取数据汇总2 excel表格下多个sheet内容汇总到一个表格中、可使用链接功能实现。方法步骤如下:1、打开EXCEL表格、点击数据选项卡中的“现有连接”。2、点击“浏览更多”。3、找到需要汇总的表格、点击打开。4、选中相关Sheet表格、点击确定。5、弹出导入数据对话框、点击确定。6、同步骤1~5、...

excel怎么将一个sheet单独导出为一个文件
在需要导出的工作表标签上的右键菜单中点击【移动或复制工作表】,在【将选定工作表移到工作簿】下选择【新工作簿】,然后点击【确定】。

如何将excel里的多个表格,保存成一个表格一个的单独文件?
1、首先打开需要编辑的Excel表格,进入到编辑页面中。2、然后选中需要保存成为一个表格的数据,按“Ctrl+C”进行复制。3、然后点击打开文件中的“新建”,新建一个Excel表格。4、然后在弹出来的窗口中按“Ctrl+V”将数据粘贴进去。5、然后点击文件中的“保存”,这样就可以保存成一个表格一个的单独文件...

相似回答