excel中使用vba提取所有工作薄名称的方法
工具/原料
excel2013
更多经验请关注,如果帮到了你,请在上方给个投票谢谢支持。好人一生平安。
先顶后看年薪百万,如果帮到了你,帮忙给个好评,这对小编很重要,万分感谢。
方法/步骤
1、首先我们打开一个工作样表作为例子。
2、打开vba编辑器,插入一个新模块并输入以下代码:Sub提取工作薄名称()DimsAsWorksheetDimrangeAsrangeDimiAsIntegerSetrange=ActiveSheet.range("A1")ForEachsInThisWorkbook.Sheetsrange.Offset(i,0).Value=s.Namei=i+1Ifi=ThisWorkbook.Sheets.Count-1ThenExitForNextshEndSub
3、讲解很简单,activesheet为活动工作表,也就是运行该宏的表格,初始单元格设置为A1单元格。
4、我们使用foreach循环,历遍工作表内的所有工作薄,并使用range.offset()函数对其进行A1单元格偏移,并对其赋值为s.name。name函数返回的是工作薄的名称。
5、循环的判断中止为所有工作薄计数-1,大家可以理解为减掉宏运行的当前空白工作薄的数字。计数函数为ThisWorkbook.Sheets.Count。
6、新建一个空白工作薄,并插入按钮运行宏,我们可以得到当前工作表内所有工作薄的名称。