如何用vba批量将一个excel文件中的多个工作表另存为指定路径的新工作薄,且只存数值不存公式和宏

新工作薄以原工作表名称命名

打开这个excel ,另存为副本, (最好放到某个文件夹内)
按alt+F11, 视图---代码窗口 --把如下复制进去--按F5 运行即可

Sub fencun()
Application.ScreenUpdating = False
b = Sheets.Count

For i = b To 1 step -1
sheets(i).select
sheets(i).Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues

Sheets(i).Copy
a = ThisWorkbook.Worksheets(i).Name
With ActiveWorkbook
.SaveAs Filename:=ThisWorkbook.Path & "\" & a & ".xlsx"
.Close

End With
Next i

Application.ScreenUpdating = true

End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-19
Sub 拆分()
Dim Sht As Worksheet
iPath = "d:\pic" '保存的路径
For Each Sht In Sheets
Sht.UsedRange.Copy
Workbooks.Add
With ActiveWorkbook
.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
.SaveAs iPath & "\" & Sht.Name
.Close True
End With
Next
End Sub

如何用vba批量将一个excel文件中的多个工作表另存为指定路径的新工作薄...
打开这个excel ,另存为副本, (最好放到某个文件夹内)按alt+F11, 视图---代码窗口 --把如下复制进去--按F5 运行即可 Sub fencun()Application.ScreenUpdating = False b = Sheets.Count For i = b To 1 step -1 sheets(i).select sheets(i).Cells.Select Selection.Copy Selection.PasteSpecia...

如何用vba批量将一个excel文件中的多个工作表另存为的新工作薄(新exce...
Sub Demo() Dim Sht As Worksheet Dim FilePath As String FilePath = ThisWorkbook.Path & "\\" Application.ScreenUpdating = False For Each Sht In ThisWorkbook.Sheets If Not Sht.Name = "分析" Then With Sht .UsedRange.Value = .UsedRange.Value .Copy End ...

如何快速将多个excel工作表批量另存为单独的工作簿
ActiveWorkbook.SaveAs Filename:=theName, FileFormat:=xlNormal ActiveWindow.Close Next Line1:End Sub 关闭VBA编辑器,返回Excel界面,选择需要单独保存为工作簿的工作表,如果要选择多个工作表,可按Ctrl键或Shift键进行选择,然后按Alt+F8打开“宏”对话框,选择“SaveSheetAsWorkbook”宏执行即可。上...

求一个VBA,一个文件夹中多个EXCEL工作簿合并成一个工作表?
1、将需要合并的EXCEL文件与目的EXCEL文件放在一个文件夹下。2、 打开HB.xlsx,将“开发工具”菜单加载到EXCEL菜单下。3、首先右键点击菜单空白处,选择“自定义功能区”,在弹出的对话框里选择主选项卡。然后勾选“开发工具”。如图所示。4、 制作导入键。点击“开发工具”菜单,选择“插入”--“Activ...

如何用vba实现同一工作表中,将多个工作簿数据汇总到1个新工作簿中。
如果只求总金额 Sub dkdkdfj()Set w = Workbooks("***.xls")For Each t In ActiveSheet.[a1:a10] '要统计的表格名称(即时间)输入a1:a10 jg = Application.WorksheetFunction.Sum(w.Sheets(t).Range("c:c")) + jg'如果销售金额在C列 If t = "" Then Exit For Next msgbox jg End ...

excel VBA怎么把多个工作表里的数据复制到一个工作表里
按ALT+F11打开VBA编辑窗口,在左边列表栏右键选择插入模块,粘贴以下代码 然后返回工作表ALT+F8 选中,执行 Sub hb()Application.ScreenUpdating = False Dim EndrowHZ, ShtCount, EndRow, EndCol As Long Sheets.Add ActiveSheet.Name = "汇总"ShtCount = Worksheets.Count For n = 2 To ShtCount Sh...

...VBA将一个工作薄里的多个工作表导入到另一个excel文档工作表里?_百 ...
下面的代码是导入指定工作薄的所有工作表 Sub 导入()drfile = InputBox("请输入要导入的excel文件名(不包含扩展名):", "输入")drfile = drfile & ".xls"Workbooks.Open ThisWorkbook.Path & "\\" & drfile drcount = Workbooks(drfile).Sheets.Count For i = 1 To drcount With Workbooks(...

vba问题,把文件夹下所有excel工作表表格中的内容提取倒一个工作表...
Excel快速批量将相同表式多文件数据汇总成总表万能操作编制

求助EXCEL使用VBA批量打开一系列表格文件并复制里面的数据到另一个表 ...
这样的代码一般可以DIR扫描文件夹,或者指定文件名,例如:'Dir 循环set st=activesheetp = "c:\\数据\\"n = Dir(p & "*.xls?")while n<>"" with workbooks.open(p & n) activesheet.usedrange.copy st.rows(rows.count,1).end(xlup).offset(1,0) .close end with n=Di...

excel如何用vba编写代码.把指定多个工作表内容复制到一个指定工作表中...
sub tt for i= 5 to sheets.count rw=sheets(i).range("a65536").end(xlup).row n=sheets(4).range("a65536").end(xlup).row+1 sheets(i).rows("2:" & rw).copy sheets(4).range("a" & n)rw=nothing n=nothing next end sub ...

相似回答