excel将工作表按笔画或拼音顺序排序

网友投稿 557 2022-12-03

Excel将工作表按笔画或拼音顺序排序

Excel中没有内置工作表排序的命令或方法,我们可以用VBA来实现工作表排序。下面的VBA代码可以将工作表按其名称的拼音或笔画的顺序来排序,同时还可以指定升序或降序。

Sub SortWorksheets()Dim SortOrd, SortM, ActiveSht As StringDim NumSht()ActiveSht = ActiveWorkbook.ActiveSheet.NameOn Error Resume Nextn = Sheets.CountIf n = 1 ThenMsgBox "只有一张工作表,无需排序!"EndEnd IfReDim NumSht(1 To n)For i = 1 To nNumSht(i) = Sheets(i).NameNext

‘在此设置工作表排序方法和排序方向‘SortM = xlPinYin为按拼音顺序, SortM = xlStroke为按笔画顺序‘SortOrd = xlAscending为升序,SortOrd = xlDescending为降序SortOrd = xlAscendingSortM = xlPinYin

Set sht = Sheets.Addsht.Move after:=Sheets(n + 1)sht.Visible = FalseWith sht.Range("A1:A" & n).NumberFormat = "@".Value = Application.WorksheetFunction.Transpose(NumSht()).Sort Key1:=sht.Range("A1"), Order1:=SortOrd, SortMethod:=SortMNumSht() = Application.WorksheetFunction.Transpose(.Value)End WithFor i = 1 To nSheets(NumSht(i)).Move Before:=Sheets(i)NextApplication.DisplayAlerts = Falsesht.DeleteApplication.DisplayAlerts = TrueActiveWorkbook.Worksheets(ActiveSht).SelectEnd Sub

excel将工作表按笔画或拼音顺序排序

代码中的SortOrd变量指定工作表的排序次序,xlAscending为升序,xlDescending为降序。SortM变量指定工作表的排序方法,xlPinYin指定工作表按拼音顺序排序,xlStroke为按笔画顺序排序。在代码中进行相应的更改即可按不同的方法和次序进行排序。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:excel批量提取超链接中的地址
下一篇:excel用自定义函数获取单元格注释
相关文章