如果Excel工作簿中包含許多工作表,可以在一個工作表中列出所有工作表目錄和相關說明,以方便在各工作表之間跳轉。下面的VBA代碼就可以實現這個功能,可以在某個工作表的第一列中產生其他工作表的目錄列表及其超鏈接,單擊工作表名稱就可以跳轉到相應的工作表中,并且可以在其他工作表的A1單元格中設置一個返回目錄的超鏈接,單擊可以返回到包含目錄的工作表中。
按Alt+F11,打開VBA編輯器,在“工程”窗口中雙擊要設置目錄列表的工作表名稱,在右側代碼窗口中輸入下面的代碼后運行:
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:= _
"跳轉到“" & Me.Name & "”工作表", TextToDisplay:="返回目錄"
End With
Me.Hyperlinks.Add Anchor:=Me.Cells(i, 1), Address:="", SubAddress:="工作表" & wSheet.Index, _
ScreenTip:="跳轉到“" & wSheet.Name & "”工作表", TextToDisplay:=wSheet.Name
End If
Next wSheet
End Sub
說明:
1.由于上述代碼會在所有工作表的A1單元格輸入鏈接內容,所以運行代碼前務必確保A1單元格為空。
2.如果工作表有密碼保護,請先解除保護。
3.運行代碼創建工作表目錄列表后,如果又新建工作表或修改工作表名稱,請再次運行代碼。