0
我有一個有點工作的解決方案,可以在不使用宏或VBA的情況下從Excel電子表格中檢索所有工作表名稱。我找到了幾個解決方案,但都要求將文件保存爲支持宏的電子表格或外部工具。列出excel電子表格的特定工作表名稱
我的解決方案是迄今爲止: 我的第一張紙叫做'第一',我的最後一張叫'最後'。在我之間有幾張隨機名。在之間的這些片材具有在A1細胞下列公式:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"\"
第一片材具有在B1以下公式:
="\" &CONCAT(First:Last!$A$1)
而在B2至BX以下公式:
=IF(ISERROR(FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()))),"",MID($B$1,FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()-1))+1,FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()))-FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()-1))-1))
爲了解釋這一點:
FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()-1))
獲取相對於該行在$ B $ 2中出現的字符串「\」。在A2這是第一次出現。
LEN($B$1)-LEN(SUBSTITUTE($B$1,"\",""))
得到在$ B的「\」出現$ 2
ISERROR(FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW())))
使得空的,所以動態命名區域可以從它創建的值的量。我使用下拉列表和圖表
對於最終用戶,我隱藏了第一個和最後一個選項卡,以便它們不會意外打破工作表。 不知何故,這一切都有效,但也許任何人都有更好的解決方案。它看起來有點矯枉過正。有誰知道更好的解決方案?
日Thnx, Jorden
大!謝謝 –