以下代码的功能是,合并同一个工作薄中的其余的所有的工作表,将其余的表的数据,全部追加到第一个工作表后面,形成完整的唯一的一个表数据。
代码如下,稍后会附上代码说明:
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
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)Worksheets(1).Cells(k, j).Value = Worksheets(MyTable).Cells(i, j).Value
Next j
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)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将其它表的有效数据的单元格的值,赋值到第一工作表的相应单元格内。