一個Excel工作簿,可能包含多個工作表;這時我們就希望能有一個工作表目錄,一方面,可以縱覽簿里有多少表、都是什么名字,另一方面,也可以通過超鏈接快速查看相關(guān)工作表的內(nèi)容。
那么說起制作工作表目錄來,您首先想到的是什么?
函數(shù)?
厲害!不愧是擁有函數(shù)神技的辦公能手。
不過,一般情況下,我們可以使用Excel自帶的工作表目錄功能。
如上操作動畫所示,右鍵單擊工作表左下角的兩個小三角及之間的區(qū)域,Excel就會彈出一個類似工作表目錄的界面;單擊界面上的相應(yīng)表名可以激活對應(yīng)的工作表。
是不是很方便呢?
但有些時候,Excel自帶的這個工作表目錄界面就有些不方便了。
工作表很多時,它的界面太小,一頁放不下,查看起來明顯就很不方便;另外它也不夠美觀,制作Excel模版時,給別人用起來又有點奇怪。別人問你,大哥,你做的 Excel模版,我想找某個工作表,好難啊。你回說:兄弟,你點這里,點那樣,這樣那樣……嗯嗯,What are you 懂?……相信我,你解釋了半天,但結(jié)果,聽的人很可能一臉懵逼。
所以還得使用函數(shù)制作工作表目錄?
——NO!
函數(shù)雖好,但需要用到宏表函數(shù),還得定義名稱,確實有點繞了。
打個響指,請看大標(biāo)題——我們今天分享的是一鍵生成帶超鏈接的工作表目錄。
請看操作過程動畫:
動畫中所復(fù)制的代碼如下:
Sub ml()
Dim sht As Worksheet, i&, shtname$
Columns(1).ClearContents
‘清空A列數(shù)據(jù)
Cells(1, 1) = “目錄”
‘第一個單元格寫入字符串”目錄”
i = 1
‘將i的初值設(shè)置為1.
For Each sht In Worksheets
‘循環(huán)當(dāng)前工作簿的每個工作表
shtname = sht.Name
If shtname <> ActiveSheet.Name Then
‘如果sht的名稱不是當(dāng)前工作表的名稱則開始在當(dāng)前工作表建立超鏈接
i = i + 1
‘累加i
ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 1), Address:=””,SubAddress:=”‘” & shtname & “‘!a1”,TextToDisplay:=shtname
‘建超鏈接
End If
Next
End Sub
醬紫是不是很有趣?
如果想【目錄】美觀,可以選擇【圖形和形狀】來作為宏代碼運行的按鈕,當(dāng)然也可以對目錄內(nèi)容所在單元格做相應(yīng)的美化處理。
最后補充一點代碼說明:
小代碼里用到了Hyperlinks.Add語句,這里用一個圖片來解釋它的每個參數(shù)。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。