excel中使用vba提取所有工作薄名称的方法

2025-10-23 13:28:00

1、首先我们打开一个工作样表作为例子。

excel中使用vba提取所有工作薄名称的方法

2、打开vba编辑器,插入一个新模块并输入以下代码:

Sub 提取工作薄名称()

  Dim s As Worksheet

  Dim range As range

  Dim i As Integer

  Set range = ActiveSheet.range("A1")

  For Each s In ThisWorkbook.Sheets

    range.Offset(i, 0).Value = s.Name

    i = i + 1

    If i = ThisWorkbook.Sheets.Count - 1 Then Exit For

  Next sh

End Sub

excel中使用vba提取所有工作薄名称的方法

3、讲解很简单,activesheet为活动工作表,也就是运行该宏的表格,初始单元格设置为A1单元格。

excel中使用vba提取所有工作薄名称的方法

4、我们使用for each循环,历遍工作表内的所有工作薄,并使用range.offset()函数对其进行A1单元格偏移,并对其赋值为s.name。name函数返回的是工作薄的名称。

excel中使用vba提取所有工作薄名称的方法

5、循环的判断中止为所有工作薄计数-1,大家可以理解为减掉宏运行的当前空白工作薄的数字。计数函数为ThisWorkbook.Sheets.Count。

excel中使用vba提取所有工作薄名称的方法

6、新建一个空白工作薄,并插入按钮运行宏,我们可以得到当前工作表内所有工作薄的名称。

excel中使用vba提取所有工作薄名称的方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢