shue
请问如何把excel上每一个sheet的表格combine到同一个新sheet里?
884
8
2024-11-15 16:41:41
每一个sheet都是个小表,想把所有数据倒到通过你一个大表里,有公式么?好几十个人工太累了
Chatgpt
方法一:使用 Power Query(推荐)
- 打开 Power Query:
- 点击 数据 选项卡。
- 选择 获取数据 > 从其他来源 > 从工作簿。
- 选择文件:
- 在弹出的对话框中选择当前的 Excel 文件。
- 加载所有工作表:
- 选择所有需要合并的工作表,点击 加载。
- 合并表格:
- 点击 追加查询。
- 选择要合并的所有表格,确认即可。
- 加载到新工作表:
- 完成后,点击 关闭并加载,将合并后的数据加载到一个新工作表中。
方法二:使用 VBA 宏
如果表格格式一致,可以用以下 VBA 代码快速合并:
- 打开开发工具:
- 如果 开发工具 选项卡未显示:
- 点击 文件 > 选项 > 自定义功能区,勾选 开发工具。
- 插入宏:
- 点击 开发工具 > Visual Basic。
- 插入新模块(右键单击 VBAProject > 插入 > 模块)。
- 粘贴代码: 将以下代码粘贴到模块中:
Sub CombineSheets()
Dim ws As Worksheet
Dim summarySheet As Worksheet
Dim lastRow As Long
Dim pasteRow As Long
' 创建一个新的工作表
Set summarySheet = ThisWorkbook.Sheets.Add
summarySheet.Name = "CombinedData"
pasteRow = 1
' 遍历所有工作表
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "CombinedData" Then
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' 复制数据
ws.Rows("1:" & lastRow).Copy
summarySheet.Cells(pasteRow, 1).PasteSpecial Paste:=xlPasteValues
' 更新粘贴行
pasteRow = summarySheet.Cells(summarySheet.Rows.Count, 1).End(xlUp).Row + 1
End If
Next ws
Application.CutCopyMode = False
MsgBox "数据已成功合并到 CombinedData 工作表中!"
End Sub
不太会编程,用了上面的power query说的在这个excel上不work
看你需要数据在什么位置用途了,一般公式跨表都能用,最笨的法子直接用公式拿就行啊
如果所有的表格都是同一格式,同一内容,在同一位置,直接选择所有sheet然后数据相加。
Tableau prep
需要重新描述你的需求,什么叫“一个小表”?
有名字和数字的表格,不能只相加
到底了
Hot Deals
All Deals