Excel VBA 学习笔记(1)——“将多张工作表中的数据合并到一张工作表中”
程序代码 Sub 合并() '把各班成绩表中的记录合并到"成绩表"工作表中 Dim sht As Worksheet Set sht = Worksheets("成绩表") sht.Rows("2:65536").Clear '删除成绩表中的原有记录 Dim wt As Worksheet, xrow As Integer, rng As Range For Each wt In Worksheets '循环处理工作簿中的每张工作表 If wt.Name <> "成绩表" Then Set rng = sht.Range("A1048576").End(xlUp).Offset(1, 0) xrow = wt.Range("A2").CurrentRegion.Rows.Count wt.Range("A2").Resize(xrow, 7).Copy rng End If Next End Sub 解析:1、Range("A1048576")表示工作表中的最后一个单元格; 2、End(xlUp)表示将工作表中的最后一个单元格移动到顶端的单元格 3、Offset(1, 0)表示向下移动一行,正数表示向下移动,负数表示向上移动,列不移动 4、wt.Range("A2").CurrentRegion.Rows.Count 表示从第二行第一列所在的区域的行的数量 5、wt.Range("A2").Resize(xrow, 7)表示将工作表wt将第二行第一列为起始的数据行有xrow行,列有7列。 6、wt.Range("A2").Resize(xrow, 7).Copy rng将工作表wt将第二行第一列为起始的数据行有xrow行,列有7列复制到单元格rng中。

