常用VBA小代码:一键对工作表排序

摘要: 常用VBA代码 4

11-13 01:23 首页 Excel之家ExcelHome

比如说,有一个工作薄,有十几张工作表,现在要重新设置工作表排放顺序,能不能快速处理?

当然是可以的。 

为了方便大家理解和灵活使用VBA小代码,我们同上期一样,依然采用多步走的方式。

使用以下代码将工作簿现有的工作表名称提取到表格的A列。

Sub ml()
    Dim sht As Worksheet, k&
    [a:a] = ""
   清空A列数据
    [a1] = "
目录"
    k = 1
    For Each sht In Worksheets
   遍历工作簿中每个工作表
        k = k + 1
      累加K
        Cells(k, 1) = sht.Name
   将工作表名称依次放入表格A
    Next
End Sub


对已提取的A列工作表名称排序。

利用EXCEL自带的排序功能,可以很快捷的完成对A列工作表名称排序的操作。


此时,我们只需要让工作表按我们A列排列好的顺序重新排排坐就好了。代码如下:

Sub sortsheet()
    Dim sht As Worksheet, shtname$, i&
    Set sht = ActiveSheet
  设置变量sht为当前激活的工作表,即目录表。
    For i = 2 To sht.Cells(Rows.Count, 1).End(3).Row
   遍历工作表A列的数据,A1以外。
        shtname = sht.Cells(i, 1)
       A列值赋值为字符串变量shtname
        Sheets(shtname).Move after:=Sheets(i- 1)
       将工作表依次移动
    Next
    sht.Activate
   重新激活目录表
End Sub

OK,搞定啦!

学会代码一两行,不用老王来帮忙,是不是很简单呢?您也快动手试一下吧~~

图文作者:看见星光



长按二维码,关注微信号: VBA编程学习与实践,星光大神在等你~~

 VBA编程学习与实践


易学宝微视频教程,1290个Office技巧精粹,每个技巧都与实际工作密切相关。轻松学习技巧,练就职场达人。淘宝搜索关键字:ExcelHome易学宝

本公众号回复关键字:大礼包  立刻免费获取50集精选易学宝教程


首页 - Excel之家ExcelHome 的更多文章: