如何在Excel中按字母顺序对工作表选项卡进行排序

如果Excel工作簿中有大量工作表,则可能很难找到特定的工作表。按字母顺序对工作表选项卡进行排序可以更容易地找到您要查找的内容。

相关:如何在Excel中重命名工作表选项卡

除了通过对工作表选项卡应用颜色来组织它们之外,您还可以按字母顺序或字母数字顺序对它们进行排序,只要您对工作表应用了自定义名称即可。遗憾的是,Excel中没有内置按字母顺序对工作表选项卡进行排序的功能,但您可以在工作簿中添加一个宏,使您可以按升序或降序对选项卡进行排序。我们将向您展示如何将Microsoft支持网站上提供的宏添加到Excel工作簿中,该工作簿将对工作表选项卡进行排序。

要开始,请按Alt+F11打开Microsoft Visual Basic for Applications(VBA)编辑器。然后,转到Insert(插入)>Module(模块)。

将以下宏从Microsoft复制并粘贴到显示的模块窗口中。

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

VBA编辑器会自动为每个模块命名,并在末尾加上一个数字,例如Module1、Module2等。您只需接受模块的默认名称即可。但是,如果您计划将其他宏添加到工作簿中,最好重命名每个模块,以便您知道它们是什么。我们将重命名我们的模块,向您展示如何使用。

要重命名模块,请在左窗格的“属性”下选择模块的“名称”框中的文本。

在“名称”框中键入模块的名称,然后按Enter键。请注意,模块名称不能包含空格。

在左窗格中Project下的Modules列表中,模块名称会更改。

通过转到文件>关闭并返回到Microsoft Excel来关闭VBA编辑器。

现在,我们将运行宏来对选项卡进行排序。按Alt+F8可访问“宏”对话框中的宏列表。在列表中选择宏(在我们的示例中只有一个宏),然后单击“Run”。

将显示以下对话框,允许您选择是按升序还是降序对工作表进行排序。我们希望按升序对它们进行排序,因此单击“是”。

工作表选项卡现在按字母顺序排列。

您添加的宏现在是工作簿的一部分,但是当您保存它时,您可能会看到以下对话框。这是因为您将工作簿另存为.xlsx文件,该文件是不包含宏的普通Excel工作簿格式。若要在工作簿中包含宏并能够运行它们,必须将工作簿另存为启用宏的工作簿或.xlsm文件。要执行此操作,请在此对话框上单击“否”。

此时将显示另存为对话框。导航到要保存启用宏的工作簿的位置(如果您尚未位于该文件夹中)。从“保存类型”下拉列表中选择“启用Excel宏的工作簿(*.xlsm)”。

单击“保存”。

如果不将工作簿另存为启用宏的工作簿(.xlsm文件),则您添加的宏将被删除。您可能希望删除工作簿的.xlsx版本,这样,如果您想要添加更多工作表选项卡并使用宏对其重新排序,则不会忘记使用工作簿的.xlsm版本。如果您不想再使用宏,可以随时将工作簿再次另存为.xlsx文件。

相关文章