Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。 Excel中没有内置工作表排序的命令或方法,我们可以用VBA来实现工作表排序。下面的VBA代码可以将工作表按其名称的拼音或笔画的顺序来排序,同时还可以指定升序或降序。 Sub SortWorksheets() Dim SortOrd, SortM, ActiveSht As String Dim NumSht() ActiveSht = ActiveWorkbook.ActiveSheet.Name On Error Resume Next n = Sheets.Count If n = 1 Then MsgBox "只有一张工作表,无需排序!" End End If ReDim NumSht(1 To n) For i = 1 To n NumSht(i) = Sheets(i).Name Next ‘在此设置工作表排序方法和排序方向 ‘SortM = xlPinYin为按拼音顺序, SortM = xlStroke为按笔画顺序 ‘SortOrd = xlAscending为升序,SortOrd = xlDescending为降序 SortOrd = xlAscending SortM = xlPinYin Set sht = Sheets.Add sht.Move after:=Sheets(n + 1) sht.Visible = False With sht.Range("A1:A" & n) .NumberFormat = "@" .Value = Application.WorksheetFunction.Transpose(NumSht()) .Sort Key1:=sht.Range("A1"), Order1:=SortOrd, SortMethod:=SortM NumSht() = Application.WorksheetFunction.Transpose(.Value) End With For i = 1 To n Sheets(NumSht(i)).Move Before:=Sheets(i) Next Application.DisplayAlerts = False sht.Delete Application.DisplayAlerts = True ActiveWorkbook.Worksheets(ActiveSht).Select End Sub 代码中的SortOrd变量指定工作表的排序次序,xlAscending为升序,xlDescending为降序。SortM变量指定工作表的排序方法,xlPinYin指定工作表按拼音顺序排序,xlStroke为按笔画顺序排序。在代码中进行相应的更改即可按不同的方法和次序进行排序。
Excel整体界面趋于平面化,显得清新简洁。流畅的动画和平滑的过渡,带来不同以往的使用体验。 |