在微軟excel表里,沒有提供sheet目錄樹的功能,通過vba代碼,我們可以簡便的生成目錄表,在目錄表點(diǎn)擊對(duì)應(yīng)sheet名即可方便的跳轉(zhuǎn)到對(duì)應(yīng)sheet表 使用效果如下 代碼如下 使用方法:alt+F11打開vba編輯器,粘貼下面代碼,運(yùn)行創(chuàng)建目錄即可 代碼最后1句單引號(hào)可取消 運(yùn)行后即可 在子表中 按下ctrl+j快速返回到目錄表 代碼如下 Sub 創(chuàng)建目錄() '關(guān)閉屏幕更新加快速度 Application.ScreenUpdating = False Dim i As Integer, Sht_Count '如果不存在“目錄”則添加目錄工作表 If Not IsSht("目錄") Then Sheets.Add(Sheets(1)).Name = "目錄" Sht_Count = Sheets.Count '獲取工作表數(shù)量 For i = 2 To Sht_Count '遍歷工作表 '在“目錄”工作表添加鏈接 Sheets("目錄").Hyperlinks.Add Anchor:=Sheets("目錄").Cells(i - 1, 2), _ Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", _ TextToDisplay:=Sheets(i).Name, ScreenTip:="單擊打開:" & Sheets(i).Name Next i '恢復(fù)屏幕更新 Application.ScreenUpdating = True '為返回目錄過程指定快捷鍵為【Ctrl+J】可自己選用 'Application.OnKey "^j", "返回目錄" End Sub '聲明一個(gè)函數(shù),用于判斷是否存在某個(gè)指定名稱的工作表 Function IsSht(ShtName As String) On Error Resume Next Dim sht As Worksheet Set sht = Sheets(ShtName) IsSht = (Err = 0) End Function Sub 返回目錄() '如果有“目錄”則返回“目錄”工作表 If IsSht("目錄") Then Sheets("目錄").Select End Sub
|