Board logo

標題: [發問] 快速切換到某Sheet頁面 [打印本頁]

作者: chi830    時間: 2015-3-3 11:51     標題: 快速切換到某Sheet頁面

請教先進~
因excel含超過50個Sheet頁面,若想快速切換到某Sheet頁,是否有內建功能或另有方式可達成呢??

每個Sheet頁都有命名,有類似Ctrl+F,輸入關鍵字就能到達該頁的功能嗎?

以上~感謝賜教!!
作者: lpk187    時間: 2015-3-3 12:36

回復 1# chi830


    可以做一個首頁,然後用超連結的方式去做,再在每個頁面也做一個可連回首頁的超連結
作者: owen06    時間: 2015-3-3 12:54

本帖最後由 owen06 於 2015-3-3 12:56 編輯

回復 1# chi830


在vba裡插入新模組,貼上下列內容
  1. Sub test()
  2. Dim MyBook As Workbook, sh As Worksheet
  3. Set MyBook = ThisWorkbook
  4. Ans = Application.InputBox("請輸入工作表名稱", "快速切換", "")
  5. For Each sh In MyBook.Sheets
  6.    If sh.Name Like "*" & Ans & "*" Then sh.Select
  7. Next
  8. End Sub
複製代碼
然後再進去『巨集』裡的『選項』,把該巨集設定你自己想要的快速鍵,這樣就可以達成你想要的方式了。
作者: chi830    時間: 2015-3-3 13:09

謝謝大家的回覆,owen06先進提供的方法,正是我所需的~謝謝喔^^
作者: yianhung    時間: 2015-3-3 14:24

試過了owen06大大的建議挺快的,sheet如果是sheet1,sheet2....好想無法跳轉,請指教~~
作者: owen06    時間: 2015-3-3 16:22

回復 5# yianhung


    剛測試了一下這個方法似乎是不夠周全,我再研究一下看看。
作者: lpk187    時間: 2015-3-3 17:51

回復 5# yianhung


    利用owen06大大的程序我做了一些改變,因此要owen06大大程序
.
  1. Private Sub Worksheet_Activate()
  2. For Each sht In Sheets
  3.     If sht.Name <> "首頁" Then
  4.         ro = ro + 1
  5.         Sheets("首頁").Cells(ro, "A") = sht.Name
  6.         
  7.     End If
  8. Next
  9. End Sub

  10. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  11. If Target.Address = Cells(Target.Row, "A").Address Then
  12. Ans = Cells(Target.Row, "A")
  13. For Each Sh In Sheets
  14.    If Sh.Name Like "*" & Ans & "*" Then Sh.Select
  15. Next
  16. End If
  17. End Sub
複製代碼

作者: lpk187    時間: 2015-3-3 18:21

回復 5# yianhung


    再加上下面這個代碼,只要點選工作表列就是啟動回到首首,這個代碼是放在ThisWorkBook上,
而上面那2個代碼則是放在"首頁"工作表上的
  1. Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  2. If Sh.Name = "首頁" Then End
  3. Sheets("首頁").Select
  4. End Sub
複製代碼

作者: HUNGCHILIN    時間: 2015-3-3 21:06

本帖最後由 HUNGCHILIN 於 2015-3-3 21:39 編輯

使用EXCEL 內建功能

1.在這裡按右鍵
[attach]20363[/attach]

2.SHEET數量多時 會有啟動視窗
[attach]20364[/attach]

點選後即會切換到該SHEET上

用這行程式也可以
Sub 到sheet()
CommandBars("Workbook Tabs").ShowPopup
End Sub
作者: HUNGCHILIN    時間: 2015-3-3 21:24

使用VBA 建議用這則
http://forum.twbts.com/viewthrea ... ighlight=%B3s%B5%B2
作者: owen06    時間: 2015-3-3 22:41

回復 5# yianhung


    這樣子應該是可以了
  1. Sub test()
  2. Dim MyBook As Workbook, sh As Worksheet
  3. Set MyBook = ThisWorkbook
  4. Ans = Application.InputBox("請輸入工作表名稱", "快速切換", "")
  5. For Each sh In MyBook.Sheets
  6.    If sh.Name Like "*" & Ans & "*" Then
  7.     sh.Select
  8.        Ans2 = MsgBox("這是你要的工作表嗎?", vbYesNo)
  9.        If Ans2 = 6 Then Exit Sub
  10.    End If
  11. Next
  12. End Sub
複製代碼

作者: budinlong    時間: 2015-3-14 18:22

想得比較簡單,使用Ctrl+F,在進階_搜尋範圍選擇活頁簿,在每一個工作表某一個位置標註索引,也可以達到需求




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)