需要一个可以重新排序 Excel 电子表格中的工作表的宏

需要一个可以重新排序 Excel 电子表格中的工作表的宏

我有几本工作簿,其中的工作表顺序不合理(例如工作表 A、C、B)

我需要一个可以重新排序工作表的宏,以便它们按顺序排列(如工作表 A、B、C)。

有人能帮助我吗?

答案1

这个简短的宏可以做到这一点

是,升序

否 降序

Sub Sort_Active_Book()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
'
' Prompt the user as which direction they wish to
' sort the worksheets.
'
   iAnswer = MsgBox("Sort Sheets in Ascending Order?" & Chr(10) _
     & "Clicking No will sort in Descending Order", _
     vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
   For i = 1 To Sheets.Count
      For j = 1 To Sheets.Count - 1
'
' If the answer is Yes, then sort in ascending order.
'
         If iAnswer = vbYes Then
            If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
               Sheets(j).Move After:=Sheets(j + 1)
            End If
'
' If the answer is No, then sort in descending order.
'
         ElseIf iAnswer = vbNo Then
            If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
               Sheets(j).Move After:=Sheets(j + 1)
            End If
         End If
      Next j
   Next i
End Sub

https://support.microsoft.com/en-us/kb/812386

相关内容