Excel中如何使用VBA代码给大量工作表快速排序

时间:2024-10-12 07:56:47

1、在使用Excel的过程中我们可能会遇到这个问题,一个工作簿有几十个工作表,结果这些工作表的顺序不太满足要求,我们想将这些工作表快速排序。你有什么好方法来解决这个问题吗?

Excel中如何使用VBA代码给大量工作表快速排序

2、复杂问题还是得vba代码出马啦。alt+F11——双击thisbook——打开工作簿的代码编辑框。

Excel中如何使用VBA代码给大量工作表快速排序

3、复制进去如下代码。Sub ml() Dim sht As Worksheet, k&挢旗扦渌; [a:a] = &qu泠贾高框ot;" '清空A列数据 [a1] = "目录" k = 1 For Each sht In Worksheets '遍历工作簿中每个工作表 k = k + 1 '累加K值 Cells(k, 1) = sht.Name '将工作表名称依次放入表格A列 NextEnd Sub

Excel中如何使用VBA代码给大量工作表快速排序

4、在开发工具选项插入一个按钮。什么!你的软件怎么没有这个选项卡?看我下一篇经验你就知道怎么让它出现了。画好一个按钮框以后,软件让你给它指定宏代码,当然是选择产生目录啦。

Excel中如何使用VBA代码给大量工作表快速排序
Excel中如何使用VBA代码给大量工作表快速排序

5、点击一下获取目录(这是我重命名的,不会的话给我留言),目录就神奇的产生啦。

Excel中如何使用VBA代码给大量工作表快速排序

6、对目录进行筛选,排序,也可以手工排序。

Excel中如何使用VBA代码给大量工作表快速排序

7、然后再在代码编辑框输入这些代码。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

Excel中如何使用VBA代码给大量工作表快速排序

8、然后再画一个按钮,指定sortsheet。

Excel中如何使用VBA代码给大量工作表快速排序

9、改好按钮名称后就是这样的啦,按一下按钮。神奇的事情就出现了,工作表居然改变了顺序。

Excel中如何使用VBA代码给大量工作表快速排序
© 手抄报圈