####一、目的
一个工作簿中有很多的表,想提取所有表的名称和地址,方便后期公式的使用
####二、方法
1、 使用VBA代码
Sub 提取所有工作表的名称()For Each x In Sheetsk = k + 1 'k可以不用定义,因为VBA中可以默认变量类型为variant'Cells(k, 1) = x.Name '表的名称纵向排列Cells(1, k) = x.Name '表的名称横向排列If k = ThisWorkbook.Sheets.Count - 1 Then Exit For '可以控制显示的表的名称的数量NextEnd Sub
2、excel公式
a. 在A1单元格输入=CELL("filename")
获得路径和表名;
b1.在A2单元格输入=MID(A1,FIND("]",A1)+1,99)
摘出表名
b2.或者用“数据”—“分列”–“]”分出表名
3、定义名称(如定义名称为“你好”)
a. 定义名称“你好”=index(get.workbook(1),row(A1)&T(NOW())
b. 在A1单元格输入=IFERROR(HYPERLINK(你好&"!A1",MID(你好,FIND("]",你好)+1,99)),"")
有表的名称,并且有链接;
4、定义名称2(如定义名称为“不好”)
a. 定义名称“不好=get.workbook(1)
b1. 在A1单元格输入=transpose(不好)
必须选中多个单元格然后按ctrl+shift+enter三键进行数组运算;
b2. 在A1单元格输入=INDEX(不好,ROW(A1)&T(NOW()))
c. 用“数据”—“分列”–“]”分出表名
Application.ActiveWorkbook.Path 只返回路径
Application.ActiveWorkbook.FullName 返回路径及工作簿文件名
Application.ActiveWorkbook.Name 返回工作簿文件名