怎麼快速提取一個excel文件中的所有工作表名?

獨狼


提取Excel工作表的名稱在Excel中是一個非常典型的應用場景,特別是在VBA中,這裡我就教會你兩種提取工作表名稱的方法。


方法1:使用VBA代碼自動提取彙總

Step1:打開一個Excel文件,新建多個工作表並分別命名,如圖:


Step2:編寫VBA代碼

按快捷鍵Alt+F11進入VBA編輯器,依次點擊菜單欄的【插入】——【模塊】,插入一個新模塊,然後將如下代碼複製到編輯區,代碼註釋如下圖。

Sub 星星()
Dim ss As Worksheet
Dim i As Integer
i = 0
For Each ss In Sheets
i = i + 1
Cells(i, 1) = ss.Name
Next
End Sub


Step3:執行VBA程序

按快捷鍵F5可直接執行代碼;或關閉VBA編輯器後,在工作表界面依次點擊【開發工具】選項卡——【宏】——選中相應的宏【星星】——點擊【執行】。


提取彙總的工作表名稱如下:


注意:彙總結果會自動存到當前活動工作表,為防止數據覆蓋丟失,最好新建一個空白工作表再執行代碼執行完畢後再將新建的工作表名字刪去。


方法2:藉助壓縮軟件提取Excel文件信息

Step1:修改Excel的後綴名

將工作薄的後綴名由xlsx改為rar(或者其他壓縮文檔的後綴均可)

Step2:打開壓縮文件

雙擊打開修改後的文件,在電腦上安裝有解壓縮軟件的前提下,該文件以解壓縮的方式打開。

點擊打開xl文件夾,點擊打開workbook.xml文件。

可以發現工作表名稱以一種規範化方式存儲在一起,如圖所示。

Step3:複製工作表名稱到工作表中

將所需信息的四行代碼複製到Excel工作表中,發現存儲在一個單元格中。依次使用“以分隔符號>進行分列”、“轉置”、“快速填充”三個功能對數據進行整理,得到工作表名稱彙總結果如下。


總結:

第一種方法比較中規中矩,但更適用於有VBA基礎的“技術人員”。第二種方法劍走偏鋒思路更加活躍,且最後一步要求有一定的數據整理能力。


你學會了哪種方法呢?


「精進Excel」系頭條簽約作者,關注我,如果任意點開三篇文章,沒有你想要的知識,算我耍流氓!

精進Excel


以下操作在excel2003上完成。

1、定義名稱,菜單命令【插入---名稱---定義】

.

2、任取一個名稱,本例取名“aaa”,在引用位置輸入“=GET.WORKBOOK(1)”,點擊確定按鈕。

.

3、在任一單元格輸入公式:“=INDEX(aaa,ROW(A1)&T(NOW()))”,回車後就可得到第一個工作表名。

.

4、繼續向下複製公式,就可持續得到其他工作表名,直至獲取全部工作表名。


EXCEL菜鳥起航


提取一個excel文件中的所有工作表名稱,有好幾種辦法,下面這種辦法不需要寫代碼,還可以提取excel中圖片的名稱。

步驟1:複製一份Excel表格,將後綴修改為“zip”,然後解壓這個zip包,找到xl文件夾下的workbook.xml。

步驟2:用notepad++或記事本打開這個xml文件,將所有內容複製到Excel中。

步驟3:對這幾行代碼進行分列,設置分隔符號為“>”。

步驟4:按“Ctrl + A”選中所有單元格,複製它,選擇性粘貼為“轉置”。這樣就會看到很多的“sheet name”語句了。

步驟5:對這些包含工作表名稱的語句再次分列,選擇分隔符號為“"”。

這樣我們就得到了所有的工作表名稱。

為什麼可以用這種方法來提取表格名稱呢?據說Excel2016表格暗含代碼,因此可以將它對應的代碼解壓出來,必然會包含工作表名稱。如果你的表格中包含很多圖片,也可以用相同的辦法將圖片名稱提取出來。


謝謝閱讀,歡迎點贊、評論、關注和點擊頭像。


分享到:


相關文章: