`
阅: 6554 | 回: 3
发表于2020/3/23 22:43:25 楼主 
头像 等级:初学者
积分:1
财富值:0.0
身份:普通用户
请问用方方格子将多个工作簿相同格式的表提取合成一个工作表,只保留一个表头,怎么处理?多个表格的长度不同,不是固定长度。附上三个EXCEL表格和得到到合成结果。我不希望在表格中去删表头,也不想每个表格去算有几行。我很懒。但是需要合并的文件很多个。怎么办?
我的个性签名
发表于 2020/3/25 13:07:31   
头像 等级:初学者
积分:8
财富值:4
身份:普通用户
采用powerquery来合并多个工作簿,最后过滤多余的表头即可
我的个性签名
发表于 2020/3/25 13:27:40   
头像 等级:初学者
积分:2
财富值:2
身份:普通用户
将所有文件放到一个文件夹里.数据---获取数据----自文件夹.找到刚才的文件夹,将所有文件合并到一起.根据提示就可以.
我的个性签名
发表于 2020/4/26 16:27:50   
头像 等级:初学者
积分:1
财富值:2
身份:普通用户

你是用的excel2007还是wps  excel2007用代码合并  wps淘宝买个会员合并吧 一个月3块钱

excel2007  sheet表右键查看代码 粘贴代码 运行里面选运行子表就可以了  合并的文件必须都是xls格式才行

代码:

Sub 合并当前目录下所有工作簿的全部工作表() 
Dim MyPath, MyName, AWbName 
Dim Wb As Workbook, WbN As String 
Dim G As Long 
Dim Num As Long 
Dim BOX As String 
Application.ScreenUpdating = False 
MyPath = ActiveWorkbook.Path 
MyName = Dir(MyPath & "\" & "*.xls") 
AWbName = ActiveWorkbook.Name 
Num = 0 
Do While MyName <> "" 
If MyName <> AWbName Then 
Set Wb = Workbooks.Open(MyPath & "\" & MyName) 
Num = Num + 1 
With Workbooks(1).ActiveSheet 
.Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) 
For G = 1 To Sheets.Count 
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1) 
Next 
WbN = WbN & Chr(13) & Wb.Name 
Wb.Close False 
End With 
End If 
MyName = Dir 
Loop 
Range("A1").Select 
Application.ScreenUpdating = True 
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" 
End Sub


我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。