比如说,有一个工作薄,有十几张工作表,现在要重新设置工作表排放顺序,能不能快速处理?
当然是可以的。
为了方便大家理解和灵活使用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,搞定啦!
学会代码一两行,不用老王来帮忙,是不是很简单呢?您也快动手试一下吧~~
图文作者:看见星光
联系客服