工作表排序 合并也轻松

数字职场

《电脑报》第23期介绍了将一张总表拆分为若干个子表的方法,我看后下载了相关的代码进行了研究,发现一个问题:各班学生成绩表汇总后,顺序是乱的(根据用户复制的先后顺序排列的)。如何才能将表格按班级的顺序排序并汇总呢?通过研究,我找到了方法(如图),关键代码如下所示(完整代码下载地址:http://www.icpcw.com/bzsoft):

'统计工作表总数

For i = 1 To Sheets.Count

'在Z列按序记下各工作表的名称(暂存)

Sheet1.Cells(i, 26) = Sheets(i).Name

Next

'对工作表名称排序

Sheet1.Range("z:z").Sort key1:=Sheet1.Range("z1")

For i = 1 To Sheets.Count

Sheets(Sheet1.Cells(i, 26).Value).Move before:=Sheets(i)

Next

Sheet1.Select

'清除Z记录

Columns("z:z").Select

Selection.ClearContents

'统计要合并的工作表的数量(循环次数)

For i = 2 To Sheets.Count

Worksheets(i).Select

'选择各工作表中的数据区域并复制

Worksheets(i).Select

'选择各工作表中的数据区域并复制

irow = Worksheets(i).[B65536].End(xlUp).Row

ActiveSheet.Range("A2:AA" & irow).Select

Selection.Copy

'粘贴到第一张工作表中

Worksheets(1).Select

mrow = [a65536].End(xlUp).Row + 1

Range("A" & mrow).Select

ActiveSheet.Paste

Next i

27-f11-05.jpg