返回列表 上一主題 發帖

[發問] 快速切換到某Sheet頁面

[發問] 快速切換到某Sheet頁面

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

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

以上~感謝賜教!!

回復 1# chi830


    可以做一個首頁,然後用超連結的方式去做,再在每個頁面也做一個可連回首頁的超連結

TOP

本帖最後由 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
複製代碼
然後再進去『巨集』裡的『選項』,把該巨集設定你自己想要的快速鍵,這樣就可以達成你想要的方式了。

TOP

謝謝大家的回覆,owen06先進提供的方法,正是我所需的~謝謝喔^^

TOP

試過了owen06大大的建議挺快的,sheet如果是sheet1,sheet2....好想無法跳轉,請指教~~

TOP

回復 5# yianhung


    剛測試了一下這個方法似乎是不夠周全,我再研究一下看看。

TOP

回復 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
複製代碼

TOP

回復 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
複製代碼

TOP

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

使用EXCEL 內建功能

1.在這裡按右鍵
1.jpg
2015-3-3 21:03


2.SHEET數量多時 會有啟動視窗
2.jpg
2015-3-3 21:03


點選後即會切換到該SHEET上

用這行程式也可以
Sub 到sheet()
CommandBars("Workbook Tabs").ShowPopup
End Sub
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題