當Excel中的工作表數量很多時,有一個帶鍊接的目錄真是太方便了,如下圖所示,當我們選中“目錄”表中對應A列的表名就會跳轉到對應的表并自動隐藏其他的表。
這樣的Excel工作表目錄該如何制作呢?下面小編就帶大家了解一下制作原理及步驟吧!
首先我們需要新建一個空白的工作表,重命名為“目錄”,作為我們制作目錄的存放的位置。
然後,右擊“目錄”工作表名稱标簽,點擊“查看代碼”命令,自動彈出VBA代碼錄入編輯窗口,将下面的一段VBA代碼複制粘貼到窗口中。最後關閉VBA窗口即可。如下圖所示:
VBA代碼如下:
Private Sub Worksheet_Activate()
On Error Resume Next
Sheets("目錄").Range("A1") = "目錄"
k = 1
For Each sh In Sheets
If sh.Name <> "目錄" Then
k = k 1
Sheets("目錄").Cells(k, 1) = sh.Name
End If
Next
Sheets("目錄").Range("A:A").EntireColumn.AutoFit
Sheets("目錄").Range("A:A").EntireColumn.HorizontalAlignment = xlCenter
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim sht As Worksheet
On Error Resume Next
If Target.Address = "$D$1" Then
Call ShowSheet
Exit Sub
End If
If Target.Row < 2 Or Target.Column > 1 Then Exit Sub
For Each sht In Worksheets
If sht.Name <> "目錄" Then sht.Visible = xlSheetVeryHidden
Next
Sheets(Target.Value).Visible = xlSheetVisible
Sheets(Target.Value).Select
End Sub
Sub ShowSheet()
Dim sh As Worksheet
For Each sh In Sheets
sh.Visible = -1
Next
End Sub
回到Excel主界面後,我們隻要點擊一下除“目錄”工作表名稱标簽以外的的任意一個工作表名稱标簽,比如本例中,小編點擊了“單價表”工作表名稱标簽,我們發現在“目錄”表中,所有的工作表名稱就自動放置到了A列,形成了一個目錄列表。
最後我們就實現了當選中“目錄”表中對應A列的表名就會跳轉到對應的表并自動隐藏其他的表。Excel目錄至此就制做好了。
這種制作目錄方法的一大特色就是當選中“目錄”表中對應A列的表名就會跳轉到對應的表并自動隐藏其他的表,但是我們如何将隐藏的所有的表格顯示出來呢?
如果直接右擊工作表,點擊“取消隐藏”按鈕的話,我們發現“取消隐藏”按鈕是灰色不可用狀态,說明這不是普通的隐藏工作表,而是一種深度的隐藏工作表。
想要解決這個問題,我們隻需要再次進入VBA編輯窗口,點擊運行剛才那段代碼,這時候,所有隐藏的工作表就都顯示出來了。
這種制作Excel目錄的方法還有一個特别方便的地方:
就是當我們新增了工作表之後,我們無需再重新制作目錄,目錄列表會實現自動更新,非常的方便,如下圖所示:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!