[Excel] 如何获取列表中所有工作表名称

Eva

在 Excel 中处理多个工作表时,在很多情况下您都会想知道“我当前有多少个工作表?”或“是否可以将它们全部显示为列表?”

手动计算标签不仅耗时,而且容易出错。

因此,在本文中,我们将介绍三种只需几步即可一次性获取所有 Excel 工作表名称的方法,以及每种方法的特点。

  1. 从立即窗口获取所有工作表名称的列表
  2. 使用Excel宏函数获取所有工作表名称的列表
  3. 如何使用 Excel 宏获取所有工作表名称的列表

请根据目的和情况尝试使用每一种。

如果您只想显示单元格中活动工作表的名称,有一种更简单的方法。
[Excel] 在单元格中显示工作表名称的函数请看一下。

目录

如何从立即窗口获取所有工作表名称的列表

我将向您展示的第一件事是如何使用 VBA 开发屏幕 (VBE) 上的“立即窗口”输出所有工作表名称。

  1. 打开 Excel 并Alt + F11启动 VBA 编辑器。
  2. 在 VBA 开发屏幕 (VBE) 上Ctrl + G按 显示“立即窗口”。
  3. 在立即窗口中输入以下代码Enter
For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
  1. 所有工作表名称将在“立即”窗口中列出。

如果要临时检查整个 Excel 工作簿的工作表名称,最好使用“立即”窗口。是。

您输入的代码的结果将立即显示,也可以复制并粘贴到 Excel 工作表中。

另一个很大的吸引力是,即使是初学者也可以轻松尝试,因为不需要创建宏。

从这里开始,我们将解释如何使用实际屏幕从立即窗口获取所有工作表名称的列表。

单击 Excel 中的“开发人员”选项卡

Excel单击“开发”选项卡请。

如果未显示“开发人员”选项卡,[Excel]如何显示开发人员选项卡请看一下。

如何从立即窗口获取所有工作表名称的列表第1步单击Excel中的“开发人员”选项卡

单击“Visual Basic”

下一个,单击“Visual Basic”请。

如何从立即窗口获取所有工作表名称的列表 步骤 2 单击“Visual Basic”

点击“查看(V)”→“立即窗口(I)”

单击“Visual Basic”,显示 VBA 开发屏幕(VBE)。

将 Excel 屏幕作为活动窗口Alt+F11按 还会显示 VBA 开发屏幕 (VBE)。

在顶部单击“显示(V)”并从菜单中单击“立即窗口(I)”请。

如何从立即窗口中获取所有工作表名称的列表 步骤 3 单击“查看(V)”→“立即窗口(I)”

输入“对于每个 i...”并按 Enter

当您单击“立即窗口(I)”时,VBA开发屏幕(VBE)的底部将显示一个标有“立即”的框架。

在 VBA 开发屏幕 (VBE) 上Ctrl+G即使你按下立即窗口将显示。

在那个框架内,粘贴下面的字符串Enter请按

For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
如何从立即窗口获取所有工作表名称的列表 步骤 4 输入“For Each i...”,然后按 Enter。

选择并复制显示的 Excel 工作簿中的工作表名称

Enter当您按 时,Excel 工作簿中的所有工作表名称将显示在“立即”窗口中。

选择显示的工作表名称,Ctrl+C复制与请。

如何从立即窗口获取所有工作表名称的列表步骤 5 选择并复制显示的 Excel 工作簿中的工作表名称

粘贴在纸上

将复制的工作表名称粘贴到 Excel 中如果是这样,你就完成了。

现在您可以获得 Excel 工作簿中所有工作表名称的列表。

如何从立即窗口获取所有工作表名称的列表第 6 步粘贴到工作表上

接下来,我将向您展示如何使用Excel的“宏功能”来获取Excel文件中所有工作表名称的列表。
该机制与普通 Excel 函数不同,但如果使用得当,您无需使用 VBA 即可获取工作表名称列表。

简单的过程如下。

有关的:[Excel] 如何设置背景图片 |删除/打印/问答

  1. 单击“公式”选项卡→“管理名称”
  2. 在“管理名称”窗口中,单击“新建”
  3. 输入“名称”(任意字符)和“参考范围”(=TEXTAFTER(GET.WORKBOOK(1),“]”),然后单击“确定”
  4. 返回 Excel 工作表并输入“名称”函数

步骤有点复杂,但是不必使用VBA开发屏幕(VBE),并且设置后,每次重新计算工作簿时该列表都会自动更新。重点是最大的吸引力。

要使用宏函数,Excel 文件必须以启用宏的工作簿 (*.xlsm) 格式保存有。

从这里开始,我们将通过实际屏幕,以易于理解的方式解释如何使用Excel的宏函数获取所有工作表名称的列表。

单击 Excel 中的“公式”选项卡

首先,我们在Excel中注册宏函数并进行准备,以便可以像普通函数一样使用它。

Excel单击“公式”选项卡请。

如何使用Excel宏函数获取列表中的所有工作表名称第一步单击Excel中的“公式”选项卡

点击“管理姓名”

下一个,点击“管理姓名”请。

如果Excel中的功能区折叠起来难以操作,请参考《【Excel】如何始终显示功能区(菜单栏)| 兼容桌面版和网页版》。”并将功能区切换为始终可见。

如何使用Excel宏函数获取列表中的所有工作表名称第2步单击“管理名称”

单击“创建新的(N)...”

单击“管理名称”以显示“管理名称”窗口。

在其中单击“创建新的(N)...”请。

如何使用Excel宏功能获取列表中的所有工作表名称第3步单击“创建新...”

在“新名称”窗口中输入所需项目,然后单击“确定”

当您单击“创建新(N)...”时,将出现一个标有“新名称”的窗口。

他们之中输入以下项目请。

当你完成输入后点击“确定”请。

项目名 要输入的值 解释
姓名 (N) 工作表名称 用作函数的名称。
建议使用简短且易于输入的字符串。
范围(S) 该函数的应用范围。
保持初始值不变即可。
评论(O) 评论稍后再回来。
对功能没有影响。
参考范围(R) = TEXTAFTER(GET.WORKBOOK(1), “]”) 显示工作表名称的宏函数。

注册一个函数来显示 Excel 文件中的工作表名称

如何使用Excel宏函数获取列表中的所有工作表名称第4步在“新名称”窗口中输入必要的项目,然后单击“确定”

点击“关闭”

单击“确定”,标有“新名称”的窗口将关闭。

在“管理名称”窗口中点击“关闭”请。

现在已注册在 Excel 文件中显示工作表名称的功能。

如何使用Excel宏函数获取列表中的所有工作表名称第5步单击“关闭”

在sheet中输入函数并显示sheet名称

注册宏函数后,最后一步是步骤4让我们使用 中定义的“名称”实际将函数写入单元格。

=sheetname

这就是要写的全部内容了。

输入此公式将显示 Excel 工作簿中所有工作表名称的列表。

如何使用Excel宏函数获取列表中的所有工作表名称Step6 在工作表上输入函数并显示工作表名称(横向)

如果你想垂直显示结果,请使用以下函数。

=TRANSPOSE(sheetname)
如何使用Excel宏函数获取列表中的所有工作表名称Step6 在工作表中输入函数并显示工作表名称(纵向)

如何使用 Excel 宏获取所有工作表名称的列表

使用上述方法可以获取Excel工作簿中所有工作表名称的列表,但作为补充,我们还将介绍使用宏函数获取列表的过程。

  1. 打开 Excel VBA 开发屏幕 (VBE) (Alt + F11),插入一个新模块。
  2. 输入下面的代码。
Sub GetSheetNames()
    Dim ws As Worksheet
    Dim i As Integer
    i = 1
    For Each ws In ThisWorkbook.Sheets
        Sheets(1).Cells(i, 1).Value = ws.Name
        i = i + 1
    Next ws
End Sub
  1. 单击VBA开发屏幕(VBE)上的“▶(运行)”按钮,或F5按 键。
  2. 当您返回 Excel 屏幕时,工作表名称将按顺序显示在活动工作表的 A 列中。

Excel中获取工作表名称列表的三种方式的优缺点(立即窗口、宏函数、VBA)

我们以易于理解的方式总结了介绍的三种方法各自的优缺点。

立即窗口中的列表

特征

  • 从“开发者”选项卡打开VBE(Visual Basic编辑器)此方法允许您在“立即”窗口中输入短代码并立即检查所有工作表名称。

优点

  • 立即列出
    当您运行输入的代码时,您可以立即显示工作簿中的工作表名称。
  • 不需要额外的存储格式
    它可以用作常规 Excel 文件 (.xlsx),因此无需将其转换为启用宏的工作簿。
  • 易于复制
    您可以轻松地将显示的工作表名称复制为文本。

缺点

  • 需要VBA操作
    它不能在“开发者选项卡”或VBE无法打开的环境中使用。
  • 用于临时确认
    定期管理工作表名称可能需要花费一些精力。

使用Excel宏函数获取列表

特征

  • 旧功能“GET.WORKBOOK”功能这是一种在单元格中显示工作簿中的工作表名称的方法。
  • 由于不需要使用VBA,因此即使在禁止宏的工作场所,如果允许宏,也可以使用它。

优点

  • VBA不要
    即使您处于无法使用宏的环境中,如果启用了 Excel 4.0 宏,您也可以尝试一下。
  • 通过重新计算自动更新
    设置后,每次重新计算工作簿时都会刷新工作表名称列表。
  • 初始设置后很容易
    使用名称管理注册函数后,只需使用工作表上的公式即可完成列表获取。

缺点

  • 旧功能
    Excel 4.0 宏并未得到官方推荐,因此它们的使用在某些环境中可能会受到限制。
  • 角色操控需要一些独创性
    由于也可能显示书名,因此您可能必须使用单独的函数(MID 或 FIND)来提取它。

使用 Excel 宏 (VBA) 获取列表

特征

  • 内置于 Excel 中编程语言通过使用 编写宏来列出工作表名称。
  • 这是一种高度灵活的方法,允许您将其保存为“启用宏的工作簿 (.xlsm)”并使用单个按钮运行它。

优点

  • 强大的自动化能力
    除了列出工作表名称之外,还可以进行各种其他应用,例如链接附加处理。
  • 可以执行任意多次
    创建宏后,您可以随时更新工作表名称。
  • 显着提高效率
    即使是数量巨大的文件也可以立即编译成列表。

缺点

  • 必须保存启用宏的工作簿
    由于扩展名是“.xlsm”格式,因此根据您公司的安全策略,可能会有限制。
  • 需要 VBA 知识
    编写代码需要花费大量时间,并且对于初学者来说可能有点困难,包括处理错误。

有关如何在 Excel 中列出工作表名称的常见问题和解答

我们整理了有关如何在 Excel 中获取工作表名称列表的常见问题和解答列表。

基本设置和环境

我找不到“开发人员”选项卡,也不知道如何获取 Excel 中的工作表名称列表。

要在 Excel 中使用宏和立即窗口等功能,您需要“开发人员”选项卡。
如果您从文件 → 选项 → 功能区用户首选项中选中“开发人员”,则会将开发人员选项卡添加到功能区。
详细操作说明参见【Excel】如何显示开发选项卡请看一下。

我无法在工作电脑上使用 VBA 宏。还有别的办法吗?

如果您无法使用 VBA 宏,如何从立即窗口获取所有工作表名称的列表尝试一下。

我不知道 xlsm 和 xlsx 之间的区别,那么哪个更适合获取工作表名称列表?

xlsx不能包含宏,因此无法执行VBA代码。
另一方面,使用 xlsm(启用宏的工作簿),您可以使用宏和宏函数,因此您可以合并处理以自动列出工作表名称。如果您正在寻求自动化和效率,xlsm 是您的最佳选择。

我不断收到安全警告,有什么办法可以缓解这些警告吗?

如果您使用宏或旧功能,Excel 将显示警告以防止病毒损坏。您可以通过从“文件”→“选项”→“信任中心”调整宏设置和受信任位置来减少警告。
详细操作说明请参见【Excel】出现“宏执行被阻止”的处理方法。请看一下。

即使我没有什么编程经验,有没有办法获取工作表名称列表?

如果你不擅长VBA,如何使用宏功能(GET.WORKBOOK)推荐。
通过名称管理设置,公式写在表单上,​​不需要直接写代码。您还可以在“立即”窗口中键入几行,但如果您不愿意打开 Visual Basic 编辑器,则宏函数可能更容易使用。

如何使用立即窗口获取 Excel 中的工作表名称列表

请告诉我使用“立即”窗口获取列表的步骤。

单击“开发工具”选项卡→“Visual Basic”启动编辑器,然后从顶部菜单中选择“视图”→“立即窗口”。底部将出现一个输入字段。
那里,For Each ws In ThisWorkbook.Sheets: Debug.Print ws.Name: Next ws输入Enter按此键可显示活动 Excel 工作簿中的工作表名称列表。

我可以将列出的工作表名称复制到另一个文件吗?

立即窗口的输出被视为文本,因此拖动以选择它,Ctrl+C您可以使用 复制它。您可以通过将工作表名称粘贴到另一个 Excel 工作表或记事本中来重复使用工作表名称。

如果添加或删除了工作表,我可以使用相同的代码再次检索它吗?

如果再次运行相同的代码,您将获得列表的最新版本,包括新的和删除的工作表。
立即窗口对于临时检查很有用,但如果您需要定期查看列表,宏功能或者VBA宏自动化将节省您的时间。

如果找不到立即窗口怎么办?

Visual Basic 编辑器的“视图”菜单中应该有一个“立即窗口”。
如果点击后看不到,可能是最小化到了屏幕底部,所以尝试拖动下边缘或窗口边框来放大显示区域。

如何使用宏函数获取Excel中的工作表名称列表

使用 GET.WORKBOOK 有什么好处?

它的优点是您可以创建工作表名称列表,而无需 VBA 代码。有些公司可能对宏(VBA)有严格的限制,但可能仍然允许宏功能。
如果在名称管理中注册=GET.WORKBOOK(1),则只需使用公式即可引用工作簿中的工作表名称。

[Book1] 当书名显示为 Sheet1 时,会很麻烦。请告诉我如何删除它。

我正在使用的 Excel微软365如果=TEXTAFTER(A1,"]")您只能提取“]”之后的部分。在旧版 Excel 中,=MID(A1,FIND("]",A1)+1,255)一种常见的方法是将 MID 和 FIND 结合起来,如下所示。
请进行处理,以便仅显示工作表名称。

Excel的宏功能本身被禁用了怎么办?

许多公司关闭了遗留功能,所以如果是这样的话,即时窗口蚊子VBA宏你别无选择,只能使用另一种方法。

在没有动态数组的情况下,有没有办法在旧Excel中整齐地排列工作表名称?

TRANSPOSE 函数和数组公式 (Ctrl+Shift+Enter) 允许您垂直或水平对齐。
动态数组无法在Excel 2019或更早版本中使用,因此请提前选择所需范围并确认为数组公式。请注意,根据版本的不同,操作可能会略有不同。

如何使用 VBA 宏获取 Excel 中的工作表名称列表

为什么宏不能以 xlsx 格式运行?

xlsx格式会阻塞宏和代码,因此无法执行VBA等自动处理。如果要执行包含宏的处理,则必须选择xlsm格式并在打开时启用宏。

当我创建宏但它不起作用时,我应该首先检查什么?

常见原因包括拼写错误、忘记另存为 xlsm 或运行错误的程序。
在 Visual Basic 编辑器中单步执行代码可以更轻松地定位错误和停止,因此请尝试逐步移动代码。

在公司使用时有什么注意事项吗?

虽然 VBA 宏对于个人使用来说是最灵活的,但企业经常禁用宏和旧功能。对于IT管理员来说,有一种机制允许使用组策略对启用宏的工作簿和宏功能的使用进行详细设置,因此在安全风险和工作效率之间找到平衡点非常重要。
如果允许,您可以使用 VBA 完全自动化,或者如果有严格的限制,最好使用最小的方法,例如立即窗口或 GET.WORKBOOK(宏函数)来获取工作表名称列表。

其他 Excel 相关文章

单击此处查看其他 Excel 相关文章。请看一下。