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 `在当前工作表和前一个工作表之间来回切换了。
简洁实用的代码!