返回列表 上一主題 發帖

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

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

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

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

以上~感謝賜教!!

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

TOP

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

TOP

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

TOP

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

使用EXCEL 內建功能

1.在這裡按右鍵


2.SHEET數量多時 會有啟動視窗
2.jpg

點選後即會切換到該SHEET上

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

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

回復 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


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

TOP

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

TOP

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

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題