Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2107|回复: 4

[已解决]如何对工作表标签进行排序

[复制链接]
发表于 2012-2-13 19:38 | 显示全部楼层 |阅读模式
    我有一个工作簿,内有几十张工作表,这此工作表标签不规范,我想对他进行排序。但是在排序时第一张目录不排序,对目录后面的工作表进行排序。
最佳答案
2012-2-13 21:02
zjwsm 发表于 2012-2-13 19:53
附:表格附件
要求对目录后的工作表名称进行排序。

Sub test()
    '获取工作表名称
    Dim n()
    t = Sheets.Count
    ReDim n(2 To t)
    For i = 2 To t
        n(i) = Sheets(i).Name
    Next


    '冒泡法对数组排序
    For i = 2 To t - 1
        For j = i + 1 To t
            If n(i) > n(j) Then
                s = n(i)
                n(i) = n(j)
                n(j) = s
            End If
        Next
    Next

    '移动工作表
    For i = 2 To t
        Sheets(n(i)).Move Sheets(i)
    Next
End Sub


发表于 2012-2-13 19:42 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-2-13 19:53 | 显示全部楼层
附:表格附件
要求对目录后的工作表名称进行排序。

Book1.rar

4.55 KB, 下载次数: 19

回复

使用道具 举报

发表于 2012-2-13 21:02 | 显示全部楼层    本楼为最佳答案   
zjwsm 发表于 2012-2-13 19:53
附:表格附件
要求对目录后的工作表名称进行排序。

Sub test()
    '获取工作表名称
    Dim n()
    t = Sheets.Count
    ReDim n(2 To t)
    For i = 2 To t
        n(i) = Sheets(i).Name
    Next


    '冒泡法对数组排序
    For i = 2 To t - 1
        For j = i + 1 To t
            If n(i) > n(j) Then
                s = n(i)
                n(i) = n(j)
                n(j) = s
            End If
        Next
    Next

    '移动工作表
    For i = 2 To t
        Sheets(n(i)).Move Sheets(i)
    Next
End Sub


回复

使用道具 举报

发表于 2012-2-13 21:58 | 显示全部楼层
收了,学习。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 09:37 , Processed in 0.278211 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表