首页 > Excel专区 > Excel函数 >

如何使用Excel VBA宏创建一个包含工作簿中所有工作表名称的动态列表

Excel函数 2021-11-17 14:01:38

本文将讲述如何在Excel中动态获取当前工作簿中所有工作表名称。如何使用Excel VBA宏创建一个包含工作簿中所有工作表名称的动态列表。

  • 使用公式动态获取所有工作表名称
  • 使用VBA创建所有工作表名称的动态列表

假设您有一个包含大量工作表的Excel工作簿,并且您希望获得当前工作簿中所有工作表名称的动态列表。这篇文章将会讲述两种创建动态工作表名称列表的方法。

使用公式动态获取所有工作表名称


步骤1:转到Excel功能区中的“公式”选项卡,然后单击“定义的名称”组下的“定义名称”命令。并且将打开“新建名称”对话框。

Excel中如何动态获取当前工作簿中的工作表名

步骤2:在“新建名称”对话框的“名称”字段中输入“SheetList”。然后输入以下公式:

=REPLACE(GET.WORKBOOK(1),1,FIND(“]”,GET.WORKBOOK(1)),””)

Excel中如何动态获取当前工作簿中的工作表名

步骤3:单击“确定”按钮,然后在单元格A1中输入数字1,在单元格A2中输入数字2。

Excel中如何动态获取当前工作簿中的工作表名

步骤4:在A列中选择这两个单元格并将它们向下拖动到的输入序列号3,4,5等。

Excel中如何动态获取当前工作簿中的工作表名

步骤5:在单元格B1中键入以下公式,然后应在单元格B1中输入第一个工作表名称。

=INDEX(SheetList,A1)

Excel中如何动态获取当前工作簿中的工作表名

步骤6:向下拖动Cell B1,直到看到#REF!错误。

Excel中如何动态获取当前工作簿中的工作表名

使用VBA创建所有工作表名称的动态列表


您还可以使用Excel VBA宏获取当前工作簿中所有工作表名称的动态列表,只需执行以下步骤:

步骤1:打开您的Excel工作簿,然后单击开发工具选项卡下的“Visual Basic”命令,或者只需按“ALT + F11”快捷方式。

Excel 中如何只複製內容和格式102

步骤2:然后将出现“Visual Basic编辑器”窗口。

Excel 中如何只複製內容和格式91

步骤3:单击“插入” – >“模块”以创建新模块。

Excel 中如何只複製內容和格式101

步骤4:将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。

Excel中如何动态获取当前工作簿中的工作表名

Sub SheetNames()    Columns(1).Insert    For i = 1 To Sheets.Count        Cells(i, 1) = Sheets(i).Name    Next iEnd Sub
  1. Sub SheetNames()
  2. Columns(1).Insert
  3. For i = 1 To Sheets.Count
  4. Cells(i, 1) = Sheets(i).Name
  5. Next i
  6. End Sub
Sub SheetNames()    Columns(1).Insert    For i = 1 To Sheets.Count        Cells(i, 1) = Sheets(i).Name    Next iEnd Sub
 

步骤5:返回当前工作表,然后运行上面的excel宏。点击运行按钮。

Excel中如何动态获取当前工作簿中的工作表名

步骤6:让我们看看结果:

Excel中如何动态获取当前工作簿中的工作表名


标签: 如何使用excelVBA创建一个包含工作簿

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.