您的位置 首页 > 腾讯云社区

Excel实战技巧78: 创建个人宏工作簿---fanjy

个人宏工作簿是一个文件,可以在应用程序开启时运行其中的VBA代码,就像是运行功能区选项卡中的命令一样。创建个人宏工作簿很简单,如下所示。

步骤1:打开一个Excel工作簿,单击功能区“开发工具”选项卡中的“录制宏”命令,在弹出的“录制宏”对话框中,选取“保存在”下拉列表框中的“个人宏工作簿”,如下图1所示。单击“确定”。

图1

步骤2:在工作表中随便选取一个单元格,然后单击“开发工具”选项卡中的“停止录制”。

此时,Excel将自动创建个人宏工作簿文件。按Alt+F11键,打开VBE编辑器,可以到工程资源管理器窗口中有一个名为“Personal.xlsb”的VBA工程。

图2

步骤3:双击Personal.xlsb中的模块,在其中编写我们想要实现功能的VBA代码。

步骤4:保存文件。

通常,Excel会自动将个人宏工作簿文件保存在默认位置:

C:Users[insert your username]AppDataRoamingMicrosoftExcelXLSTART

如下图3所示。

图3

下面,我们将《Excel实战技巧77:实现在当前工作表和前一个使用的工作表之间自由切换》中创建的快捷键功能放到个人宏工作簿中,以便于在所有打开的工作簿中都能使用这个功能。

首先,在VBE编辑器中,在PEARSONAL.XLSB工程下插入一个类模块并命名为“TabBack_Class”,输入代码:

Public WithEvents AppEvent As Application Public SheetReference As String Public WorkbookReference As String '在离开当前工作表前保存其信息 Private Sub AppEvent_SheetDeactivate(ByVal Sh As Object) WorkbookReference = Sh.Parent.Name SheetReference = Sh.Name End Sub '在关闭工作簿前保存当前工作表信息 Private Sub AppEvent_WorkbookDeactivate(ByVal Wb As Workbook) WorkbookReference = Wb.Name SheetReference = Wb.ActiveSheet.Name End Sub

接着,插入一个标准模块并命名为TabBack,输入代码:

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 With End Sub

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

'打开工作簿时运行 Private Sub Workbook_Open() Call TabBack_Run End Sub

保存并关闭Excel文件,然后随便打开一个工作簿,发现可以使用快捷键Alt+`在当前工作表和前一个工作表之间来回切换了。

注意,因为个人宏工作簿中的功能可以应用到所有工作簿中,所以在编写代码时应使用ActiveWorkbook,而不是ThisWorkbook。

---来自腾讯云社区的---fanjy

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: