Excel精英培训网

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

[已解决]excel工作表能按自定义排序吗?

[复制链接]
发表于 2015-11-14 22:21 | 显示全部楼层 |阅读模式
我一个工作簿中了多个工作表,比如有5个工作表,工作表名为中文,分别是“广西、北京、湖南、广东、天津”,现在如果我要按我自己定好的顺序排序,比如工作表要按“北京、天津、广东、广西、湖南”这个顺序排序,能通过写VBA来实现吗?一般常见的工作表排序都是按升序或降序之类的,而没有按自定义顺序来,工作表多的时候要手工排序就比较耗时了。请各位高手指点,谢谢!
最佳答案
2015-11-14 22:51
i% = Sheets.Count
On Error Resume Next
For Each tmp In Array("a", "b", "c", "d", "e", "f", "g", "h")  ' 把你的表名顺序写在这里,此处暂为abcdefgh
    t = Sheets(tmp).[a1]
    If Err = Empty Then Sheets(tmp).Move after:=Sheets(i) Else Err.Clear
Next
发表于 2015-11-14 22:51 | 显示全部楼层    本楼为最佳答案   
i% = Sheets.Count
On Error Resume Next
For Each tmp In Array("a", "b", "c", "d", "e", "f", "g", "h")  ' 把你的表名顺序写在这里,此处暂为abcdefgh
    t = Sheets(tmp).[a1]
    If Err = Empty Then Sheets(tmp).Move after:=Sheets(i) Else Err.Clear
Next

评分

参与人数 1 +1 收起 理由
cyy1905 + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-11-15 22:40 | 显示全部楼层
青城山苦丁茶 发表于 2015-11-14 22:51
i% = Sheets.Count
On Error Resume Next
For Each tmp In Array("a", "b", "c", "d", "e", "f", "g", "h ...

太好了,解决大问题了,谢谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 14:52 , Processed in 0.243143 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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