excel中使用vba提取所有工作薄名称的方法
来源:网络收集 点击: 时间:2024-04-12首先我们打开一个工作样表作为例子。

打开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

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

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

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

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

注意我在代码中设置了一个错误,大家可以找找看。很明显的。
这个错误是以前讲过的,如果大家找不出来可以私信我。谢谢你。
EXCELVBA错误版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_492271.html