美文网首页
如何按名称对 Excel 工作表进行排序(4 种简单方法)【译】

如何按名称对 Excel 工作表进行排序(4 种简单方法)【译】

作者: MaxZing | 来源:发表于2023-12-04 10:19 被阅读0次

    原英文文章地址:How to Sort Excel Sheet by Name (4 Easy Methods)

    如果您想按名称对Excel工作表进行排序,本文适合您。在这里,我们将引导您完成 4 种简单有效的方法来顺利完成任务。

    以下 Excel 工作簿有 8 个工作表。我们将使用 4 种简单的方法按名称对 Excel 工作表进行排序。在这里,我们将使用 Excel 365。您可以使用任何可用的 Excel 版本。

    1.应用鼠标拖放按名称对Excel工作表进行排序

    在这里,我们将应用拖放方法按名称手动对 Excel 工作表进行排序。

    步骤:

    1. 首先,选择任何工作表,然后使用鼠标拖动工作表并将拖放到所需的位置。
    2. 在这里,我们想移动名为 Mike 的工作表,因此我们在名为** Mike** 的工作表上*单击并按住鼠标。
    3. 之后,我们将在名为 Mike 的工作表上看到一个下拉箭头
    4. 然后,我们将拖动鼠标将工作表移动到我们想要的位置。
    1. 之后,我们将选定的工作表拖到名为 Andrew 的工作表之后,然后通过释放鼠标来放置工作表。

    6.接下来,我们可以看到名为 **Mike **的工作表已移动到名为 Andrew 的工作表之后。

    1. 以类似的方式,我们拖动所有的工作表并根据需要对它们进行排序。

    因此,您将看到按名称排序的 Excel 工作表


    2.插入VBA以按字母顺序对工作表名称进行排序

    在这种方法中,我们将插入VBA代码,按名称按字母顺序对Excel工作表进行排序

    步骤:

    • 首先,我们将转到“开发人员”选项卡>>然后选择Visual Basic以显示VBA编辑器窗口。

    在这里,您可以使用键盘快捷键ALT+F11带来 VBA 编辑器窗口。

    将出现一个 **VBA **编辑器窗口。

    • 然后,从“插入”选项卡>>选择“模块”。
    • 之后,在“模块”窗口中,我们将键入以下代码。
    Sub Sort_Sheetname_Alphabetically()
    Dim p As Integer
    Dim q As Integer
    Dim pResult As VbMsgBoxResult
    
    pResult = MsgBox("Select Yes to Sort Sheeets Alphabetically from A to Z?" & Chr(10) _
    & "Select No to sort Sheet Alphabetically from Z to A", _
    vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
    
    For p = 1 To Sheets.Count
    For q = 1 To Sheets.Count - 1
    
    If pResult = vbYes Then
    If UCase$(Sheets(q).Name) > UCase$(Sheets(q + 1).Name) Then
    Sheets(q).Move after:=Sheets(q + 1)
    End If
    
    ElseIf pResult = vbNo Then
    If UCase$(Sheets(q).Name) < UCase$(Sheets(q + 1).Name) Then
    Sheets(q).Move after:=Sheets(q + 1)
    End If
    End If
    Next q
    Next p
    End Sub
    

    复制

    代码分解

    • 我们将 p,q 声明为 Integer将 pResult 声明为 VbMsgBoxResult
    • 对于 MsgBox,我们键入“按字母顺序从 A 到 Z 排序”和“单击否将按字母顺序从 Z 到 A 对工作表进行排序
    • 第一个 For 循环用于遍历计数的 Sheets
    • 第二个 For 循环用于查看所有工作表,以根据字母表对工作表****进行排序
    • 当我们在 MsgBox 中选择 Yes 时, IF 语句按字母顺序返回从 **A 到 Z **的工作表名称。
    • 当我们在 MsgBox 中选择 No 时,IF 语句按字母顺序返回从 Z 到 A 的工作表名称。

    然后,我们将单击“运行”按钮来运行代码。
    接下来,将出现一个 MsgBox。

    • 之后,我们将选择“是”。

    如果要从** Z 到 A** 进行排序,则必须选择“否”。

    • 之后,我们将关闭VBA编辑器窗口并返回Excel工作表

    因此,您将看到按名称按字母顺序排序的 Excel 工作表。


    3.使用Excel VBA按升序对工作表名称进行排序

    以下工作簿有 4 个 Excel 工作表。但是,工作表的名称顺序不规则。在这里,我们将使用 VBA 按名称升序排列 Excel 工作表。

    步骤:

    • 首先,我们将按照方法2中描述的步骤来引入VBA模块窗口。
    • 之后,我们将在“模块”窗口中键入以下代码。
    Sub sort_Sheetname_Ascending()
    
    Dim s, t, u As Double
    t = Application.Sheets.Count
    
    For s = 1 To t
    For u = 1 To t - 1
    If LCase(Sheets(u).Name) > LCase(Sheets(u + 1).Name) Then
    Sheets(u).Move after:=Sheets(u + 1)
    Next
    Next
    
    End Sub
    

    复制

    代码分解

    • 我们已将 s,t,u 声明为 Double。
    • 第一个 For 循环用于再次查找每个工作表。
    • 第二个 For 循环用于查看所有工作表,以按升序对它们进行排序。
    • IF 语句标识较小的编号表名称,并将其放在较大的编号表名称之前。

    然后,我们将单击“运行”按钮来运行代码。
    之后,我们将关闭VBA编辑器窗口并返回Excel工作表。
    因此,您将按名称升序看到排序的Excel工作表。

    image.png

    因此,您将按名称升序看到排序的Excel工作表


    4. 应用 VBA 按降序对 Excel 工作表名称进行排序

    以下工作簿有 4 个 Excel 工作表。但是,工作表的名称顺序不规则。在这里,我们将使用 VBA 按名称降序对 Excel 工作表进行排序

    image.png

    步骤:

    • 首先,我们将按照方法2中描述的步骤来引入VBA模块窗口。
    • 之后,我们将在“模块”窗口中键入以下代码。
    Sub sort_Sheetname_Ascending()
    
    Dim s, t, u As Double
    t = Application.Sheets.Count
    
    For s = 1 To t
    For u = 1 To t - 1
    If LCase(Sheets(u).Name) > LCase(Sheets(u + 1).Name) Then
    Sheets(u).Move after:=Sheets(u + 1)
    Next
    Next
    
    End Sub
    

    复制

    代码分解

    • 我们将** u,v,w** 声明为 Double
    • 第一个 For 循环用于遍历 Counted Sheets
    • 第二个 For 循环用于查看所有工作表,以按降序对工作表进行排序。
    • IF 语句标识较大的编号表名称,并将其放在较小的编号表名称之前。
    • 然后,我们将单击“运行”按钮来运行代码。
    • 之后,我们将关闭VBA编辑器窗口并返回Excel工作表

    最后,您将按名称降序看到排序的Excel工作表


    业务部分

    在工作表的练习部分,您可以练习解释的方法。

    结论

    在这里,我们尝试向您展示 4 种按名称对 Excel 工作表进行排序的方法。感谢您阅读本文,希望对您有所帮助。如果您有任何疑问或建议,请在下面的评论部分告诉我们。

    相关文章

      网友评论

          本文标题:如何按名称对 Excel 工作表进行排序(4 种简单方法)【译】

          本文链接:https://www.haomeiwen.com/subject/izglgdtx.html