多张EXCEL表数据合并

来源:百度知道 编辑:UC知道 时间:2024/07/13 06:56:28
例如sheet1中有:
姓名 工资 科室
周伦 2870 办公室
萧轩 2750 人事科
郑化 2680 供应科
sheet2中有:
姓名 工资 科室
屠刚 2980 销售科
刘华 2900 采购部
现在sheet3中实现这样结果:
姓名 工资 科室
周伦 2870 办公室
萧轩 2750 人事科
郑化 2680 供应科
屠刚 2980 销售科
刘华 2900 采购部
如果表一和表二的数据有增加,表三的数据自动更新
请知道解决方法的帮个忙了!!!
我只有10分了 全送了 多些大虾们!!
Worksheets("Sheet3").Cells(SubRowIndex3 , SubColIndex) = Worksheets("Sheet1").Cells(SubRowIndex, SubColIndex).Value '实际操作赋值语句
提示下标越界

我刚回答过一个类似问题:http://zhidao.baidu.com/question/74495168.html
就是源表换成两个了
表1表2更新完成表3自动更新会导致后台一直随表1更新运行,极耗资源,建议事件放在表3激活下面,效果是一样的。

代码
置于表3下
Private Sub Worksheet_Activate()
Range("A:Z").Clear '清空部分区域,一般能包括

Dim SubRowIndex As Integer
Dim SubRowIndex3 As Integer
Dim SubColIndex As Integer

SubRowIndex = 2 '从表1第二行开始
Do

For SubColIndex = 1 To 10 '表1从第一列开始,共10列
Worksheets("Sheet3").Cells(SubRowIndex3 , SubColIndex) = Worksheets("Sheet1").Cells(SubRowIndex, SubColIndex).Value '实际操作赋值语句
Next SubColIndex
SubRowIndex = SubRowIndex + 1
SubRowIndex3 = SubRowIndex3 + 1

Loop While Worksheets("Sheet1").Cells(SubRowIndex, 1) <> "" '表1第一列为空时跳出
SubRowIndex = 2 '从表2第二行开始
Do

For