excel 多个数据表格合并的问题
发布网友
发布时间:2022-04-19 10:37
我来回答
共5个回答
热心网友
时间:2023-07-24 01:20
如果表数实在太多,可以考虑用VBA,具体要看你是哪种情况
A类:一个EXCEL工作簿下多张表
B类:多个EXCEL工作补下多张表
具体情况你愿意看就看,不愿意看。。那我也没有办法,都是我的经典收藏:
B类:
将多个工作簿下的EXCEL合并成一个工作簿
发表于:2007年1月4日 12时39分44秒阅读(13)评论(0) 举报本文链接:http://user.qzone.qq.com/49383968/blog/25
将多个工作簿下的EXCEL合并成一个工作簿
关于如何将多个工作簿(xls文件)中的工作表(worksheet)复制到同一个工作簿中的解决。下面的代码可以将某个磁盘目录下的多个xls文件的复制到含有这段代码的xls文件中,而且xls文件可以根据处理worksheet的数量自动的增加xls文件中worksheet的数量。使用时将代码复制到xls文件的宏内,然后运行宏main即可。
代码中运用了filesystemobject对象和excel的range对象的copy方法以及worksheet和workbook对象的add方法。这里就不在赘述,可以在excel vba的帮助中找到。
‘***********************************
Sub Mergesheet(ByVal sPath As String)
Dim fs, fd, fl As Object
Dim xlbook As Workbook
Dim xlsheet As Worksheet
Dim i_cnt As Integer
i_cnt = 1
Set fs = CreateObject("scripting.filesystemobject") '建立filesystemobject
If Not fs.FolderExists(sPath) Then
MsgBox "目录不存在!", vbCritical
Exit Sub
End If
Set fd = fs.getfolder(sPath) '或取文件夹
For Each fl In fd.Files '依此处理文件夹中的文件
If Right(Trim(fl.Name), 3) = "xls" Then '只处理xls文件
Set xlbook = Application.Workbooks.Open(sPath + "\" + fl.Name) '打开xls文件
If i_cnt <> 3 Then '默认的worksheet数量是3,如果超过就自动的增加
Set xlsheet = Application.Workbooks(1).Worksheets.Add
Else
Set xlsheet = Application.Workbooks(1).Worksheets(i_cnt)
End If
xlbook.Worksheets(1).Rows.Copy xlsheet.Cells(1, 1) '复制worksheet
i_cnt = i_cnt + 1
xlbook.Clo** '关闭已经打开的*ls文件
End If
Next
Set fl = Nothing '关闭file,folder,filesystemobject对象
Set fd = Nothing
______________
A类:
一个工作簿有sheet1和sheet2两张表,合并
发表于:2006年12月7日 23时37分55秒阅读(5)评论(0) 举报本文链接:http://user.qzone.qq.com/49383968/blog/19
一个工作簿有sheet1和sheet2两张表,合并
一个工作簿有sheet1和sheet2两张表,如何设立一个控件,将表1中A列的数据导到表2中A列中现有数据的后面(A列的数据多少不一定)。
Sub 合并()
热心网友
时间:2023-07-24 01:21
直接把三表复制到一张表中
然后,按菜名列进行排序
最后,使用分类汇总,就实现你的要求了!
(如果不懂如何进行分类汇总,请补充说明一下)
热心网友
时间:2023-07-24 01:21
直接先复制到一个表格去啊,数据统计是以后的事了,比如你可以排序后分类汇总,也可以数据透视表,很多方法。
热心网友
时间:2023-07-24 01:22
你有没有可能把它们合为一个表 中的几列,
那样才好算,不然的话很难几步整清楚的。
热心网友
时间:2023-07-24 01:23
同意大徐哥的意见