Office中国论坛/Access中国论坛
标题:
EXCEL高手SOS:须把N个工作簿合并成一个新工作簿,新工作簿包含N个工作表.
[打印本页]
作者:
amao888
时间:
2008-8-25 10:59
标题:
EXCEL高手SOS:须把N个工作簿合并成一个新工作簿,新工作簿包含N个工作表.
1.须把EXCEL的N个工作簿合并成一个新工作簿,新工作簿包N个工作表.
2.在新的工作簿中,尽量保存原来N个工作簿中的SHEET名称
3.网上找了不少类似案件,但没有,不会VB编程,高手能否指教一下?
attach]31740[/attach][attach]31740[/attach]
[
本帖最后由 amao888 于 2008-8-25 11:01 编辑
]
作者:
pureshadow
时间:
2008-8-25 12:02
这个,不用代码也难.
代码高手们出来一下......
作者:
yb_lcy
时间:
2008-8-25 12:09
标题:
巧用宏 快速合并200个Excel工作簿
http://www.blue1000.com/bkhtml/2007-11/54816.htm
[
本帖最后由 yb_lcy 于 2008-8-25 14:45 编辑
]
作者:
yb_lcy
时间:
2008-8-25 14:46
标题:
快速合并200个Excel工作簿代码
快速合并200个Excel工作簿
你会不会有大量Excel工作簿需要合并到一起呢?你可以手动完成这一工作,但这个工作可能会花费你一整天的时间。要完成合并工作,最好使用宏,这样只需花几分钟便可搞定。本文所介绍的技巧将向你说明如何创建这样一个宏,看看如何使用宏来节省你的宝贵时间。(本技巧可应用于Microsoft Excel 97、Excel 2000、Excel 2002、和Excel 2003。)
Joydip Das在合并数个工作簿时遇到了问题。这些工作簿总数约有200,保存在同一文件夹中,其中大多数工作簿中只包含一个单独的工作表,但有些工作簿包含多个工作表。这些工作簿中的工作表需要被添加到一个新的工作簿中。
合并数量如此巨大的工作簿的最简单方法——如果经常要这样做的话——是使用宏。下面的宏会显示一个对话框,提示你选择要合并的文件。(你可以通过按下Ctrl键单击的方法选择多个工作簿。)它会使用代码在你所选的工作簿列表中循环,打开每个工作簿并将其中的工作表移动到工作簿的末尾。
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename(FileFilter: = "MicroSoft Excel文件(*.xls),*.xls",MultiSelect: = True,Title: = "要合并的文件")
If TypeName(FilesToOpen) = "Boolean" then
MsgBox "没有选中文件"
Goto ExitHandler
end if
x = 1
While x <= UBound(filestoopen)
Workbooks.Open fileName: = filestoopen(x)
Sheets().Move After: = ThisWorkbook.Sheets (ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
在将工作表添加到工作簿末尾的过程中,Excel会复制工作表的名称并自动根据检测结果附加(2)、(3)等数字编号。工作簿中与其他工作表相关的任何公式也会自动更新的新的名称。
作者:
yb_lcy
时间:
2008-8-25 14:48
本人已经试用过了,完全成功!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3