VBA:获取工作簿中所有表的名称、地址

####一、目的
一个工作簿中有很多的表,想提取所有表的名称和地址,方便后期公式的使用
####二、方法
1、 使用VBA代码

Sub 提取所有工作表的名称()
	For Each x In Sheets
	    k = k + 1  'k可以不用定义,因为VBA中可以默认变量类型为variant
	    'Cells(k, 1) = x.Name   '表的名称纵向排列
	    Cells(1, k) = x.Name   '表的名称横向排列
	    If k = ThisWorkbook.Sheets.Count - 1 Then Exit For 
	     '可以控制显示的表的名称的数量
	Next
End 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 返回工作簿文件名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章