如果Excel工作簿中包含許多工作表,可以在一個(gè)工作表中列出所有工作表目錄和相關(guān)說(shuō)明,以方便在各工作表之間跳轉(zhuǎn)。下面的VBA代碼就可以實(shí)現(xiàn)這個(gè)功能,可以在某個(gè)工作表的第一列中產(chǎn)生其他工作表的目錄列表及其超鏈接,單擊工作表名稱就可以跳轉(zhuǎn)到相應(yīng)的工作表中,并且可以在其他工作表的A1單元格中設(shè)置一個(gè)返回目錄的超鏈接,單擊可以返回到包含目錄的工作表中。
按Alt+F11,打開(kāi)VBA編輯器,在“工程”窗口中雙擊要設(shè)置目錄列表的工作表名稱,在右側(cè)代碼窗口中輸入下面的代碼后運(yùn)行:
Sub CreateSheetsIndex()
Dim wSheet As Worksheet
Dim i As Long
i = 1
With Me
.Columns(i).ClearContents
.Cells(1, 1) = "工作表目錄"
.Cells(1, 1).Name = "目錄"
End With
For Each wSheet In Worksheets
If wSheet.Name <> Me.Name Then
i = i + 1
With wSheet
.Range("A1").Name = "工作表" & wSheet.Index
.Hyperlinks.Add Anchor:=.Range("A1"), Address:="", SubAddress:="目錄", ScreenTip:= _
"跳轉(zhuǎn)到“" & Me.Name & "”工作表", TextToDisplay:="返回目錄"
End With
Me.Hyperlinks.Add Anchor:=Me.Cells(i, 1), Address:="", SubAddress:="工作表" & wSheet.Index, _
ScreenTip:="跳轉(zhuǎn)到“" & wSheet.Name & "”工作表", TextToDisplay:=wSheet.Name
End If
Next wSheet
End Sub
說(shuō)明:
1.由于上述代碼會(huì)在所有工作表的A1單元格輸入鏈接內(nèi)容,所以運(yùn)行代碼前務(wù)必確保A1單元格為空。
2.如果工作表有密碼保護(hù),請(qǐng)先解除保護(hù)。
3.運(yùn)行代碼創(chuàng)建工作表目錄列表后,如果又新建工作表或修改工作表名稱,請(qǐng)?jiān)俅芜\(yùn)行代碼。






