[Excel] 如何獲取列表中所有工作表名稱
在 Excel 中處理多個工作表時,在很多情況下您都會想知道“我當前有多少個工作表?”或“是否可以將它們全部顯示為列表?”
手動計算標籤不僅耗時,而且容易出錯。
因此,在本文中,我們將介紹三種只需幾步即可一次性獲取所有 Excel 工作表名稱的方法,以及每種方法的特點。
- 從立即窗口獲取所有工作表名稱的列表
- 使用Excel宏函數獲取所有工作表名稱的列表
- 如何使用 Excel 宏獲取所有工作表名稱的列表
請根據目的和情況嘗試使用每一種。
如果您只想顯示單元格中活動工作表的名稱,有一種更簡單的方法。
[Excel] 在單元格中顯示工作表名稱的函數請看一下。
目錄
如何從立即窗口獲取所有工作表名稱的列表
我將向您展示的第一件事是如何使用 VBA 開發屏幕 (VBE) 上的“立即窗口”輸出所有工作表名稱。
- 打開 Excel 並
Alt + F11啟動 VBA 編輯器。 - 在 VBA 開發屏幕 (VBE) 上
Ctrl + G按 顯示“立即窗口”。 - 在立即窗口中輸入以下代碼
Enter按
For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
- 所有工作表名稱將在“立即”窗口中列出。
如果要臨時檢查整個 Excel 工作簿的工作表名稱,最好使用“立即”窗口。是。
您輸入的代碼的結果將立即顯示,也可以復制並粘貼到 Excel 工作表中。
另一個很大的吸引力是,即使是初學者也可以輕鬆嘗試,因為不需要創建宏。
從這裡開始,我們將解釋如何使用實際屏幕從立即窗口獲取所有工作表名稱的列表。
步單擊 Excel 中的“開發人員”選項卡
Excel單擊“開發”選項卡請。
如果未顯示“開發人員”選項卡,[Excel]如何顯示開發人員選項卡請看一下。
步單擊“Visual Basic”
下一個,單擊“Visual Basic”請。
如何從立即窗口獲取所有工作表名稱的列表 步驟 2 單擊“Visual Basic”
步點擊“查看(V)”→“立即窗口(I)”
單擊“Visual Basic”,顯示 VBA 開發屏幕(VBE)。
將 Excel 屏幕作為活動窗口Alt+F11按 還會顯示 VBA 開發屏幕 (VBE)。
在頂部單擊“顯示(V)”並從菜單中單擊“立即窗口(I)”請。
如何從立即窗口中獲取所有工作表名稱的列表 步驟 3 單擊“查看(V)”→“立即窗口(I)”
步輸入“對於每個 i...”並按 Enter
當您單擊“立即窗口(I)”時,VBA開發屏幕(VBE)的底部將顯示一個標有“立即”的框架。
在 VBA 開發屏幕 (VBE) 上Ctrl+G即使你按下立即窗口將顯示。
在那個框架內,粘貼下面的字符串Enter請按
For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
如何從立即窗口獲取所有工作表名稱的列表 步驟 4 輸入“For Each i...”,然後按 Enter。
步選擇並複制顯示的 Excel 工作簿中的工作表名稱
Enter當您按 時,Excel 工作簿中的所有工作表名稱將顯示在“立即”窗口中。
選擇顯示的工作表名稱,Ctrl+C複製與請。
如何從立即窗口獲取所有工作表名稱的列表步驟 5 選擇並複制顯示的 Excel 工作簿中的工作表名稱
步粘貼在紙上
將復制的工作表名稱粘貼到 Excel 中如果是這樣,你就完成了。
現在您可以獲得 Excel 工作簿中所有工作表名稱的列表。
如何從立即窗口獲取所有工作表名稱的列表第 6 步粘貼到工作表上
接下來,我將向您展示如何使用Excel的“宏功能”來獲取Excel文件中所有工作表名稱的列表。
該機制與普通 Excel 函數不同,但如果使用得當,您無需使用 VBA 即可獲取工作表名稱列表。
簡單的過程如下。
有關的:[Excel] 如何設置背景圖片 |刪除/打印/問答
- 單擊“公式”選項卡→“管理名稱”
- 在“管理名稱”窗口中,單擊“新建”
- 輸入“名稱”(任意字符)和“參考範圍”(=TEXTAFTER(GET.WORKBOOK(1),“]”),然後單擊“確定”
- 返回 Excel 工作表並輸入“名稱”函數
步驟有點複雜,但是不必使用VBA開發屏幕(VBE),並且設置後,每次重新計算工作簿時該列表都會自動更新。重點是最大的吸引力。
要使用宏函數,Excel 文件必須以啟用宏的工作簿 (*.xlsm) 格式保存有。
從這裡開始,我們將通過實際屏幕,以易於理解的方式解釋如何使用Excel的宏函數獲取所有工作表名稱的列表。
步單擊 Excel 中的“公式”選項卡
首先,我們在Excel中註冊宏函數並進行準備,以便可以像普通函數一樣使用它。
Excel單擊“公式”選項卡請。
如何使用Excel宏函數獲取列表中的所有工作表名稱第一步單擊Excel中的“公式”選項卡
步點擊“管理姓名”
下一個,點擊“管理姓名”請。
如果Excel中的功能區折疊起來難以操作,請參考《【Excel】如何始終顯示功能區(菜單欄)| 兼容桌面版和網頁版》。”並將功能區切換為始終可見。
如何使用Excel宏函數獲取列表中的所有工作表名稱第2步單擊“管理名稱”
步單擊“創建新的(N)...”
單擊“管理名稱”以顯示“管理名稱”窗口。
在其中單擊“創建新的(N)...”請。
如何使用Excel宏功能獲取列表中的所有工作表名稱第3步單擊“創建新...”
步在“新名稱”窗口中輸入所需項目,然後單擊“確定”
當您單擊“創建新(N)...”時,將出現一個標有“新名稱”的窗口。
他們之中輸入以下項目請。
當你完成輸入後點擊“確定”請。
| 項目名 | 要輸入的值 | 解釋 |
|---|---|---|
| 姓名 (N) | 工作表名稱 | 用作函數的名稱。 建議使用簡短且易於輸入的字符串。 |
| 範圍(S) | 書 | 該函數的應用範圍。 保持初始值不變即可。 |
| 評論(O) | – | 評論稍後再回來。 對功能沒有影響。 |
| 參考範圍(R) | = TEXTAFTER(GET.WORKBOOK(1), “]”) | 顯示工作表名稱的宏函數。 |
註冊一個函數來顯示 Excel 文件中的工作表名稱
如何使用Excel宏函數獲取列表中的所有工作表名稱第4步在“新名稱”窗口中輸入必要的項目,然後單擊“確定”
步點擊“關閉”
單擊“確定”,標有“新名稱”的窗口將關閉。
在“管理名稱”窗口中點擊“關閉”請。
現在已註冊在 Excel 文件中顯示工作表名稱的功能。
如何使用Excel宏函數獲取列表中的所有工作表名稱第5步單擊“關閉”
步在sheet中輸入函數並顯示sheet名稱
註冊宏函數後,最後一步是步驟4讓我們使用 中定義的“名稱”實際將函數寫入單元格。
=sheetname
這就是要寫的全部內容了。
輸入此公式將顯示 Excel 工作簿中所有工作表名稱的列表。
如何使用Excel宏函數獲取列表中的所有工作表名稱Step6 在工作表上輸入函數並顯示工作表名稱(橫向)
如果你想垂直顯示結果,請使用以下函數。
=TRANSPOSE(sheetname)
如何使用Excel宏函數獲取列表中的所有工作表名稱Step6 在工作表中輸入函數並顯示工作表名稱(縱向)
如何使用 Excel 宏獲取所有工作表名稱的列表
使用上述方法可以獲取Excel工作簿中所有工作表名稱的列表,但作為補充,我們還將介紹使用宏函數獲取列表的過程。
- 打開 Excel VBA 開發屏幕 (VBE) (
Alt + F11),插入一個新模塊。 - 輸入下面的代碼。
Sub GetSheetNames()
Dim ws As Worksheet
Dim i As Integer
i = 1
For Each ws In ThisWorkbook.Sheets
Sheets(1).Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub
- 單擊VBA開發屏幕(VBE)上的“▶(運行)”按鈕,或
F5按 鍵。 - 當您返回 Excel 屏幕時,工作表名稱將按順序顯示在活動工作表的 A 列中。
Excel中獲取工作表名稱列表的三種方式的優缺點(立即窗口、宏函數、VBA)
我們以易於理解的方式總結了介紹的三種方法各自的優缺點。
立即窗口中的列表
特徵
- 從“開發者”選項卡打開VBE(Visual Basic編輯器)此方法允許您在“立即”窗口中輸入短代碼並立即檢查所有工作表名稱。
優點
- 立即列出
當您運行輸入的代碼時,您可以立即顯示工作簿中的工作表名稱。 - 不需要額外的存儲格式
它可以用作常規 Excel 文件 (.xlsx),因此無需將其轉換為啟用宏的工作簿。 - 易於復制
您可以輕鬆地將顯示的工作表名稱複製為文本。
缺點
- 需要VBA操作
它不能在“開發者選項卡”或VBE無法打開的環境中使用。 - 用於臨時確認
定期管理工作表名稱可能需要花費一些精力。
使用Excel宏函數獲取列表
特徵
- 舊功能“GET.WORKBOOK”功能這是一種在單元格中顯示工作簿中的工作表名稱的方法。
- 由於不需要使用VBA,因此即使在禁止宏的工作場所,如果允許宏,也可以使用它。
優點
- VBA不要
即使您處於無法使用宏的環境中,如果啟用了 Excel 4.0 宏,您也可以嘗試一下。 - 通過重新計算自動更新
設置後,每次重新計算工作簿時都會刷新工作表名稱列表。 - 初始設置後很容易
使用名稱管理註冊函數後,只需使用工作表上的公式即可完成列表獲取。
缺點
- 舊功能
Excel 4.0 宏並未得到官方推薦,因此它們的使用在某些環境中可能會受到限制。 - 角色操控需要一些獨創性
由於也可能顯示書名,因此您可能必須使用單獨的函數(MID 或 FIND)來提取它。
使用 Excel 宏 (VBA) 獲取列表
特徵
- 內置於 Excel 中程式設計語言通過使用 編寫宏來列出工作表名稱。
- 這是一種高度靈活的方法,允許您將其保存為“啟用宏的工作簿 (.xlsm)”並使用單個按鈕運行它。
優點
- 強大的自動化能力
除了列出工作表名稱之外,還可以進行各種其他應用,例如鍊接附加處理。 - 可以執行任意多次
創建宏後,您可以隨時更新工作表名稱。 - 顯著提高效率
即使是數量巨大的文件也可以立即編譯成列表。
缺點
- 必須保存啟用宏的工作簿
由於擴展名是“.xlsm”格式,因此根據您公司的安全策略,可能會有限制。 - 需要 VBA 知識
編寫代碼需要花費大量時間,並且對於初學者來說可能有點困難,包括處理錯誤。
有關如何在 Excel 中列出工作表名稱的常見問題和解答
我們整理了有關如何在 Excel 中獲取工作表名稱列表的常見問題和解答列表。
基本設置和環境
我找不到“開發人員”選項卡,也不知道如何獲取 Excel 中的工作表名稱列表。
要在 Excel 中使用宏和立即窗口等功能,您需要“開發人員”選項卡。
如果您從文件 → 選項 → 功能區用戶首選項中選中“開發人員”,則會將開發人員選項卡添加到功能區。
詳細操作說明參見【Excel】如何顯示開發選項卡請看一下。
我無法在工作電腦上使用 VBA 宏。還有別的辦法嗎?
如果您無法使用 VBA 宏,如何從立即窗口獲取所有工作表名稱的列表嘗試一下。
我不知道 xlsm 和 xlsx 之間的區別,那麼哪個更適合獲取工作表名稱列表?
xlsx不能包含宏,因此無法執行VBA代碼。
另一方面,使用 xlsm(啟用宏的工作簿),您可以使用宏和宏函數,因此您可以合併處理以自動列出工作表名稱。如果您正在尋求自動化和效率,xlsm 是您的最佳選擇。
我不斷收到安全警告,有什麼辦法可以緩解這些警告嗎?
如果您使用宏或舊功能,Excel 將顯示警告以防止病毒損壞。您可以通過從“文件”→“選項”→“信任中心”調整宏設置和受信任位置來減少警告。
詳細操作說明請參見【Excel】出現“宏執行被阻止”的處理方法。請看一下。
即使我沒有什麼編程經驗,有沒有辦法獲取工作表名稱列表?
如果你不擅長VBA,如何使用宏功能(GET.WORKBOOK)推薦。
通過名稱管理設置,公式寫在表單上,不需要直接寫代碼。您還可以在“立即”窗口中鍵入幾行,但如果您不願意打開 Visual Basic 編輯器,則宏函數可能更容易使用。
如何使用立即窗口獲取 Excel 中的工作表名稱列表
請告訴我使用“立即”窗口獲取列表的步驟。
單擊“開發工具”選項卡→“Visual Basic”啟動編輯器,然後從頂部菜單中選擇“視圖”→“立即窗口”。底部將出現一個輸入字段。
那裡,For Each ws In ThisWorkbook.Sheets: Debug.Print ws.Name: Next ws輸入Enter按此鍵可顯示活動 Excel 工作簿中的工作表名稱列表。
我可以將列出的工作表名稱複製到另一個文件嗎?
立即窗口的輸出被視為文本,因此拖動以選擇它,Ctrl+C您可以使用 複製它。您可以通過將工作表名稱粘貼到另一個 Excel 工作表或記事本中來重複使用工作表名稱。
如果添加或刪除了工作表,我可以使用相同的代碼再次檢索它嗎?
如果再次運行相同的代碼,您將獲得列表的最新版本,包括新的和刪除的工作表。
立即窗口對於臨時檢查很有用,但如果您需要定期查看列表,宏功能或者VBA宏自動化將節省您的時間。
如果找不到立即窗口怎麼辦?
Visual Basic 編輯器的“視圖”菜單中應該有一個“立即窗口”。
如果點擊後看不到,可能是最小化到了屏幕底部,所以嘗試拖動下邊緣或窗口邊框來放大顯示區域。
如何使用宏函數獲取Excel中的工作表名稱列表
使用 GET.WORKBOOK 有什麼好處?
它的優點是您可以創建工作表名稱列表,而無需 VBA 代碼。有些公司可能對宏(VBA)有嚴格的限制,但可能仍然允許宏功能。
如果在名稱管理中註冊=GET.WORKBOOK(1),則只需使用公式即可引用工作簿中的工作表名稱。
[Book1] 當書名顯示為 Sheet1 時,會很麻煩。請告訴我如何刪除它。
我正在使用的 Excel微軟365如果=TEXTAFTER(A1,"]")您只能提取“]”之後的部分。在舊版 Excel 中,=MID(A1,FIND("]",A1)+1,255)一種常見的方法是將 MID 和 FIND 結合起來,如下所示。
請進行處理,以便僅顯示工作表名稱。
Excel的宏功能本身被禁用了怎麼辦?
許多公司關閉了遺留功能,所以如果是這樣的話,即時窗口蚊子VBA宏你別無選擇,只能使用另一種方法。
在沒有動態數組的情況下,有沒有辦法在舊Excel中整齊地排列工作表名稱?
TRANSPOSE 函數和數組公式 (Ctrl+Shift+Enter) 允許您垂直或水平對齊。
動態數組無法在Excel 2019或更早版本中使用,因此請提前選擇所需範圍並確認為數組公式。請注意,根據版本的不同,操作可能會略有不同。
如何使用 VBA 宏獲取 Excel 中的工作表名稱列表
為什麼宏不能以 xlsx 格式運行?
xlsx格式會阻塞宏和代碼,因此無法執行VBA等自動處理。如果要執行包含宏的處理,則必須選擇xlsm格式並在打開時啟用宏。
當我創建宏但它不起作用時,我應該首先檢查什麼?
常見原因包括拼寫錯誤、忘記另存為 xlsm 或運行錯誤的程序。
在 Visual Basic 編輯器中單步執行代碼可以更輕鬆地定位錯誤和停止,因此請嘗試逐步移動代碼。
在公司使用時有什麼注意事項嗎?
雖然 VBA 宏對於個人使用來說是最靈活的,但企業經常禁用宏和舊功能。對於IT管理員來說,有一種機制允許使用組策略對啟用宏的工作簿和宏功能的使用進行詳細設置,因此在安全風險和工作效率之間找到平衡點非常重要。
如果允許,您可以使用 VBA 完全自動化,或者如果有嚴格的限制,最好使用最小的方法,例如立即窗口或 GET.WORKBOOK(宏函數)來獲取工作表名稱列表。
其他 Excel 相關文章
單擊此處查看其他 Excel 相關文章。請看一下。
