Excel快速访问工具栏 - 从活动而不是以前的工作簿运行宏

时间:2015-04-29 00:42:57

标签: excel vba excel-vba

我在Excel的快速访问工具栏中有一个自定义按钮(不是加载项,只是一个“快捷方式”按钮),可以在活动工作簿中运行宏。每天都会使用新文件名修改并保存工作簿。首次在活动工作簿中创建链接(称为版本1)时,宏运行正常。但是,第二天(文件名现在版本2)单击宏按钮将打开工作簿版本1并运行保存在版本1中的宏。

是否有一种简单的方法可以在最近的活动工作簿中断开链接并运行宏?

代码是基本的 - 它只是打开一个用户形式并保存在“ThisWorkbook”

Sub OPEN_DATA_USERFORM()

ufDATA.Show
End Sub

1 个答案:

答案 0 :(得分:0)

我会尽力指导你,希望有所帮助。

我们需要做的是我们需要从“PERSONAL.XLSB”文件中调用OPEN_DATA_USERFORM()。在VB编辑器界面中,在项目浏览器中,您将找到一个名为“PERSONAL.XLSB”的文件,您需要在其中添加“模块”并添加以下代码:

Sub KickOff()
    Call Application.Run(Excel.ActiveWorkbook.Name & "!OPEN_DATA_USERFORM")
End Sub

通过这个我们将能够从我们的PERSONAL.XLSB调用userform.show函数,当你打开excel时,它始终在后台运行。

PS:我假设您的OPEN_DATA_USERFORM()已在您的日常工作簿中编码。

更新:PERSONAL.XLSB 您的文件应该在项目资源管理器中可见,如下所示:

enter image description here

如果没有记录虚拟宏并选择下面的个人文件,那么它应该出现在VBA屏幕的项目浏览器中:

enter image description here