工作表排序 合并也轻松
数字职场
《电脑报》第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
