请问如何把excel上每一个sheet的表格combine到同一个新sheet里?

s
shue
楼主 (北美华人网)
每一个sheet都是个小表,想把所有数据倒到通过你一个大表里,有公式么?好几十个人工太累了
w
wantU
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
s
shue
不太会编程,用了上面的power query说的在这个excel上不work
l
longtai
看你需要数据在什么位置用途了,一般公式跨表都能用,最笨的法子直接用公式拿就行啊
k
kdhgle
如果所有的表格都是同一格式,同一内容,在同一位置,直接选择所有sheet然后数据相加。
p
ppnn
Tableau prep
a
aiyamayayongle
需要重新描述你的需求,什么叫“一个小表”?
s
shue
有名字和数字的表格,不能只相加
w
wantU
你要是信任我交给我 我给你弄?