Excel实战技巧77: 实现在当前工作表和前一个使用的工作表之间自由切换

2020-05-14 21:06:36 浏览数 (1)

Windows有一个另人喜爱的快捷键Alt Tab,可以在当前应用程序和前一个使用的应用程序之间来回切换。Excel也有两个快捷键:Ctrl PageUP和Ctrl PageDown,可以在工作表之间导航,它们是按顺序依次切换工作表,这样,如果要从工作表Sheet1切换到工作表Sheet5,要按快捷键4次。thespreadsheetguru.com分享了使用代码创建的快捷键(Alt `),可以在当前工作表和前一个使用的工作表之间切换。

首先,打开VBE编辑器,插入一个类模块并命名为“TabBack_Class”,输入代码:

代码语言:javascript复制
Public WithEvents AppEvent As ApplicationPublic SheetReference As StringPublic WorkbookReference As String '在离开当前工作表前保存其信息Private Sub AppEvent_SheetDeactivate(ByVal Sh As Object)  WorkbookReference = Sh.Parent.Name  SheetReference = Sh.NameEnd Sub '在关闭工作簿前保存当前工作表信息Private Sub AppEvent_WorkbookDeactivate(ByVal Wb As Workbook)  WorkbookReference = Wb.Name  SheetReference = Wb.ActiveSheet.NameEnd Sub

接着,插入一个标准模块,输入代码:

代码语言:javascript复制
Dim TabTracker As New TabBack_Class '初始化Tab追踪和快捷键触发Sub TabBack_Run()  '启动TabTracker类  Set TabTracker.AppEvent = Application   '当用户按下Alt `时调用ToggleBack过程  Application.OnKey "%`","ToggleBack"End Sub '返回到前一个工作表Sub ToggleBack()  With TabTracker    On Error Resume Next   Workbooks(.WorkbookReference).Worksheets(.SheetReference).Activate    On Error GoTo 0  End WithEnd Sub

最后,打开ThisWorkbook模块,输入代码:

代码语言:javascript复制
'打开工作簿时运行Private Sub Workbook_Open()    Call TabBack_RunEnd Sub

保存并关闭工作簿,然后重新打开,此时就可以使用快捷键Alt `在当前工作表和前一个工作表之间来回切换了。

简洁实用的代码!

0 人点赞