一個工作簿裏有很多工作表,想要提取當前工作簿的所有工作表名稱,你會怎麽操作?
過去的我,可能會一個個手動去編輯提取,花了不少時間和精力去完成,工作這麽努力,差點把自己感動哭了。可是,後來才知道,我那是白瞎折騰。原來,提取當前工作簿的所有工作表名稱幾個簡單步驟就可以批量快速搞定,簡直太方便了。
現在簡單分享一下。
批量提取工作表名稱,有兩種方法,一種是使用公式法實現,一種是使用VBA代碼實現。
現在我們舉實例說明一下操作方法。
比如,以下表格,一個工作簿中有多個工作表。現要批量提取工作表名稱。
一、公式法
1、定義名稱
點擊菜單的【公式】—【定義名稱】,打開【新建名稱】對話框,在【名稱】處輸入一個定義名稱,本例輸入:sheetname,方便後面在工作表中引用;在【引用位置】處輸入:=GET.WORKBOOK(1),然後點擊【确定】。
說明:GET.WORKBOOK是宏表函數,不能直接在單元格中使用,隻能定義名稱後,使用名稱得到結果。=GET.WORKBOOK(1) 列出當前工作簿中的所有工作表名稱。
2、輸入公式
在第一個工作表的A1單元格輸入以下公式:
=IFERROR(INDEX(sheetname,ROW(A1)),””)
然後公式下拉填充,知道出現空白即停止。
說明:公式裏的IFERROR函數的作用是用來屏蔽錯誤值,讓結果更整潔。
到這裏,我們可以看到公式用INDEX函數提取出來的工作表名稱是帶有工作簿名稱的,我們需要将工作簿名稱去掉,保留工作表名稱就可以。
3、去掉工作簿名稱
在B1單元格裏輸入工作表名稱,輸入完後回車。然後按CTRL+E即可快速填充下面所有單元格的内容。
現在所有工作表名稱就都提取出來了。
二、VBA法
右擊工作表名稱—【查看代碼】,打開VBA代碼編輯器,輸入以下代碼:
Sub GetSheetName()
Dim sht As Worksheet
Dim i As Integer
i = 1
For Each sht In Sheets
Cells(i, 1) = sht.Name
i = i + 1
Next
End Sub
然後點擊綠色運行按鈕,
即可在A列批量生成所有工作表的名稱。
好了,今天分享的這個快速提取當前工作簿中所有工作表名稱的方法,是不是太好用啦。
原文鏈接:https://jiankeweb.com/articles/5724.html,轉載請注明出處。 百度收錄: