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 返回工作簿文件名

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