美文网首页
如何按名称对 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