以下代碼的功能是,合並同一個工作薄中的其余的所有的工作表,將其余的表的數據,全部追加到第一個工作表後面,形成完整的唯一的一個表數據。
代碼如下,稍後會附上代碼說明:
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 將其它表的有效數據的單元格的值,賦值到第一工作表的相應單元格內。