excelVBA教程VBA常用小代碼:一鍵生成帶超鏈接的工作表目錄,前天剛學(xué)習(xí)了一個(gè)excel的新技術(shù),叫“excelVBA教程”授課老師對(duì)我們說,這一技術(shù)的專業(yè)全稱為“excelVBA教程VBA常用小代碼:一鍵生成帶超鏈接的工作表目錄”今天寶寶把這個(gè)技術(shù)分享給大家,不用謝哦~
一個(gè)Excel工作簿,可能包含多個(gè)工作表;這時(shí)我們就希望能有一個(gè)工作表目錄,一方面,可以縱覽簿里有多少表、都是什么名字,另一方面,也可以通過超鏈接快速查看相關(guān)工作表的內(nèi)容。
那么說起制作工作表目錄來,您首先想到的是什么?
函數(shù)?
厲害!不愧是擁有函數(shù)神技的辦公能手。
不過,一般情況下,我們可以使用Excel自帶的工作表目錄功能。
如上操作動(dòng)畫所示,右鍵單擊工作表左下角的兩個(gè)小三角及之間的區(qū)域,Excel就會(huì)彈出一個(gè)類似工作表目錄的界面;單擊界面上的相應(yīng)表名可以激活對(duì)應(yīng)的工作表。
是不是很方便呢?
但有些時(shí)候,Excel自帶的這個(gè)工作表目錄界面就有些不方便了。
工作表很多時(shí),它的界面太小,一頁放不下,查看起來明顯就很不方便;另外它也不夠美觀,制作Excel模版時(shí),給別人用起來又有點(diǎn)奇怪。別人問你,大哥,你做的 Excel模版,我想找某個(gè)工作表,好難啊。你回說:兄弟,你點(diǎn)這里,點(diǎn)那樣,這樣那樣……嗯嗯,What are you 懂?……相信我,你解釋了半天,但結(jié)果,聽的人很可能一臉懵逼。
所以還得使用函數(shù)制作工作表目錄?
——NO!
函數(shù)雖好,但需要用到宏表函數(shù),還得定義名稱,確實(shí)有點(diǎn)繞了。
打個(gè)響指,請(qǐng)看大標(biāo)題——我們今天分享的是一鍵生成帶超鏈接的工作表目錄。
請(qǐng)看操作過程動(dòng)畫:
動(dòng)畫中所復(fù)制的代碼如下:
Sub ml()
Dim sht As Worksheet, i&, shtname$
Columns(1).ClearContents
'清空A列數(shù)據(jù)
Cells(1, 1) = "目錄"
'第一個(gè)單元格寫入字符串"目錄"
i = 1
'將i的初值設(shè)置為1.
For Each sht In Worksheets
'循環(huán)當(dāng)前工作簿的每個(gè)工作表
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
醬紫是不是很有趣?
如果想【目錄】美觀,可以選擇【圖形和形狀】來作為宏代碼運(yùn)行的按鈕,當(dāng)然也可以對(duì)目錄內(nèi)容所在單元格做相應(yīng)的美化處理。
最后補(bǔ)充一點(diǎn)代碼說明:
小代碼里用到了Hyperlinks.Add語句,這里用一個(gè)圖片來解釋它的每個(gè)參數(shù)。