第一个反应是,这个肯定要用到VBA代码了。复制以下代码:
Sub a()For Each sh In Sheetsk = k + 1Cells(k, 1) = sh.NameNextEnd Sub
试试看看,在“表名”汇总中鼠标右键代码,然后复制代码到窗体中,然后“运行”窗口。看动图操作。
那如果看不懂VBA代码呢?怎么办呢?有没有工具操作的方法呢?有。
具体操作如下:
定义一个名称,然后使用=get.workbook(1)公式。
接着在任意处,选中工作表对应的行数,比如本例为6个工作表,则选中6列,其实选择多一些行也没关系。在其中输入公式“=TRANSPOSE(a),然后键盘后输入“Ctrl+Shift+Enter”,即可看到所有单元格中已经包含了所有的工作表名。具体操作如下:
此一系列操作是利用get.workbook 函数获取表名,然后在利用TRANSPOSE函数进行转置,让工作表竖排显示。
工作表获取后,发现会包含工作薄名字,然后利用分列按钮进行分离。注意分列前,先把函数进行复制成值的操作。然后利用分列功能进行分列,利用“]”符号进行分列。看动图操作。
总结:两种方法都能解决问题,感觉第二种方法更容易操作和理解。