Office中国论坛/Access中国论坛
标题:
如何简便地合并大量excel文件?
[打印本页]
作者:
xbhxz
时间:
2004-6-24 02:59
标题:
如何简便地合并大量excel文件?
大量的.xls文件,相同的一行行的记录,如果一个个打开复制粘贴到一个文件太麻烦了,有没有简便的方法啊?
作者:
hzg7818
时间:
2004-6-24 04:55
是明细数据罗列汇总,还是叠加汇总?
作者:
xbhxz
时间:
2004-6-24 07:27
是明细数据罗列汇总。谢谢。
作者:
xyquit
时间:
2004-7-11 08:06
我没有试过,能否利用dos的copyj进行合并
作者:
bering
时间:
2004-7-11 23:49
我在工作中也遇到过这种情况,已经有了一个解决方案。用VBA解决。我的例子是工作的数据,不方便放在这里,我说一下原理。实现多个文件的记录合并到一个文件,前提是这些XLS文件里面的数据是按照一个模式(格式)排列的。首先,要建立一个文件列表(XLS文件),里面的内容就是所有要合并的文件的文件名。方法是:用dir>list.txt命令(前提是这些文件在同一个目录下),再粘贴到XLS文件中,再用一些文本处理函数做一下处理,得到一个文件名列表,假设名称为 list.xls(这些XLS文件的文件名要是一致,取名很有规律,那有很好办,几乎不要什么手工处理)下面就是要用BVA编程了。原理是:读取list.xls,根据里边的文件名称逐个打开XLS文件,将内容逐一复制到一个文件中。以下代码学过VBA的一看就明白,我自己也只是个菜鸟,只会一点点
))Public Sub 汇总() Application.Workbooks.Open "driver\path\list.xls" '打开lis文件t
Dim I As Integer
Dim FileNames(1 To 50) As String
For I = 1 To 100
FileNames(I) = Application.Workbooks("list.xls").Worksheets("list").Cells(I, 2).Value
If FileNames(I) = "" Then
Exit For
End If
Next
ActiveWorkbook.Close
Dim AppID(1 To 10000) As StringI = 1
Dim Count As Integer
Count = 1
Dim Data As String
Dim FileNum As Integer
FileNum = 1Do While FileNames(FileNum) <> "" Application.Workbooks.Open FileNames(FileNum)
For I = 6 To 250
Data = Application.Workbooks( FileNames(FileNum)).Worksheets("???").Cells(I, 3).Value
If Data = "" Then
Exit For
End If
AppID(Count) = Data
Count = Count + 1
Next
ActiveWorkbook.Close
FileNum = 1 + FileNum
LoopI = 1
Do While I < Count
Cells(I + 1, 1) = AppID(I)
I = I + 1
Loop
End Sub
作者:
mydeeper
时间:
2004-7-15 03:14
非常感谢
作者:
carltony
时间:
2007-6-24 06:51
[em17][em17]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3