sheet1~sheet100拥有相同的表头,而数据不同,如何把他们合并到sheet101中

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:22:18
sheet1~sheet100拥有相同的表头,而数据不同,如何把他们合并到sheet101中

不知道你是需要把数据串起来还是加起来,你没有说明确,不过加起来是比较简单的,下面讲串起来的方法。

串的意思是把前100个表的所有行依次存放在101表中,也就是101表中的行数是前100个表中行数的总和。

实际情况又有两种,第一种是前面的100个表有固定的行数,比如都是50行,那么第101个表就有5000行。

另外一种情况是前面的100个表的行数不固定,这就需要确定行数的规则,比如可以是直到一个空行为止。

虽然情况太多,但是写一个宏来完成是很简单的,下面举一个简单的例子:

现在需要把sheet1~3里面的数据,串到sheet4里面,前三个表的行数不固定,需要把非空行都串过去。

第一步、选择菜单工具、宏、录制新宏,点击确定进行开始录制,然后就点击停止录制。

第二步、选择菜单工具、宏、宏,选择刚才录制的宏,名字可能是Macro1,然后选择编辑,粘贴下面的程序代码在Sub Macro1()、End Sub之间,注意你的宏名是否为Macro1:

Sub Macro1()
n = 3 '需要合并的工作表数
k = 1
For i = 1 To n
j = 1
While Sheets(i).Cells(j, 1) <> ""
l = 1
While Sheets(i).Cells(j, l) <> ""
Sheets(n + 1).Cells(k, l) = Sheets(i).Cells(j, l)
l = l + 1
Wend
k = k + 1
j = j + 1
Wend
Next i
End Sub

粘贴之后应该和上面的一样,如果有区别的化,就是第一行的Macro1。粘贴正确之后点菜单运行里面的“运行子过程”,现在sheet4就有相应的内容了,速度非常快。

如果你需要串100个表,修改上面程序里面的n=3为n=100即可。