将整个excel文件的每个sheet里的内容同步合并在一个sheet里

2024-12-23 13:45:09
推荐回答(5个)
回答1:

Sub 合并工作表信息()
Sheets("汇总表").Range("A2:CC65536").Clear '清除汇总表内容
For i = 2 To Sheets.Count
rw = Sheets("汇总表").UsedRange.Rows.Count + 1
t = Sheets(i).UsedRange.Rows.Count
Sheets(i).Range("A2:CC" & t).Copy Sheets("汇总表").Range("a" & rw)
Next
End Sub

放在VBA代码窗口中去,需要更新时,运行一下这个程序,或在保存前运行一下。如果仍不明白,可以追问。
PS:这里的sheet n的名字被定义成"汇总表",如果你的表格名称有变动,可以改一下这里面的相关内容。。确保"汇总表"在第一个工作表位置,否则代码无效

回答2:

Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
   If Sheets(j).Name <> ActiveSheet.Name Then
       X = Range("A65536").End(xlUp).Row + 1
       Sheets(j).UsedRange.Copy Cells(X, 1)
   End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub

回答3:

在SHEETN中,输入“=SHEET1!A1”,A1的数据就过来了,并随之改变。
在SHEETN中,输入:=SUM(SHEET1:SHEET10!A1),就把10个SHEET中A1的数据合计了。数据更新,合计也会变的。
假设先设置20个SHEET,只用15个,空5个没事,公式都按20个做,空的的表等于0值,不影响计算(只要不除以0就可以)。在一个空SHEET中,加入数据,总表就会变化了。

回答4:

如Sheet1中的A1与Sheet2A1的数据求和,结果放在Sheet3A1中 :只需在Sheet3A1中输入公式=Sheet1!A1+Sheet2!A1最后按确认即可,,至于如何扩展到Sheet n 可用相同的方法推导出来

回答5:

要实现同步并不难,主要是一些细节问题要搞清楚
1. 同步是根据哪一个关键字来的,这个关键字必须是唯一的,否则谁和谁同步呀?
2. 同步的频率,是一发生改变就同步,还是当你看汇总表的时候才同步
3. 分表删除时,汇总表是否删除
4. 分表间内容发生冲突时如何处理,是一发现就处理,还是同步时再处理
当你用起来的时候就会发现很多问题的,先把样表发邮件给我吧,99137479r@qq.com