以下代码的功能是,合并同一个工作薄中的其余的所有的工作表,将其余的表的数据,全部追加到第一个工作表后面,形成完整的唯一的一个表数据。
代码如下,稍后会附上代码说明:
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 将其它表的有效数据的单元格的值,赋值到第一工作表的相应单元格内。
新闻热点
疑难解答