EXCEL VBA:把同一个工作薄中的其它工作表记录全部追加到第一个工作表的后面的VBA代码

2013-08-03 16:15 阅读 1,292 次 评论关闭

以下代码的功能是,合并同一个工作薄中的其余的所有的工作表,将其余的表的数据,全部追加第一个工作表后面,形成完整的唯一的一个表数据。

代码如下,稍后会附上代码说明:

Dim MyCount As Integer
k = Worksheets(1).UsedRange.Rows.Count + 1
For MyTable = 2 To Worksheets.Count
For i = 5 To Worksheets(MyTable).UsedRange.Rows.Count
For j = 1 To Worksheets(MyTable).UsedRange.Columns.Count
Worksheets(1).Cells(k, j).Value = Worksheets(MyTable).Cells(i, j).Value
Next j
k = k + 1
Next i
Next MyTable

注意哦,如上的代码,仅把其它表的第五行的数据至最后一行的数据阵加到第一表的后面,第一行到第四行是标题,不进行追加。For i = 5代表的是从第五行开始阵加。

代码解释

k = Worksheets(1).UsedRange.Rows.Count + 1 获取第一个工作表的最后一行的行号后加1

For MyTable = 2 To Worksheets.Count 从第二个工作表开始循环至最后一个工作表,目的就是通过循环追加其它表到第一表嘛

For i = 5 To Worksheets(MyTable).UsedRange.Rows.Count 每个工作表,仅从第五行至有效数据最后一行,追加到表一。

For j = 1 To Worksheets(MyTable).UsedRange.Columns.Count 从每个工作表的第一列到有效列数据的最大列号做循环。

Worksheets(1).Cells(k, j).Value = Worksheets(MyTable).Cells(i, j).Value 将其它表的有效数据的单元格的值,赋值到第一工作表的相应单元格内。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:EXCEL VBA:把同一个工作薄中的其它工作表记录全部追加到第一个工作表的后面的VBA代码 | 猎微网

评论已关闭!