Excel VBA用户窗体显示时自动激活历史工作簿的问题求助
Excel VBA用户窗体显示时自动激活历史工作簿的问题求助
大家好,我遇到了一个挺棘手的Excel VBA问题,想请各位帮忙看看:
我给打开VBA用户窗体设置了一个快捷键,但不知道为啥,每次显示这个用户窗体的时候,Excel都会自动激活第一次打开该窗体时处于激活状态的那个工作簿,我写的代码都是最基础的 vanilla 写法,完全摸不着头脑这是为啥,也不知道该怎么修复。
我的原始代码如下:
Sub AssignShortcuts() Application.OnKey "^+%s", "UserFormShow" End Sub Sub UserFormShow() UserForm.Show End Sub Sub CloseButton_Click() Me.Hide End Sub
我自己也尝试过一个解决思路:在显示窗体前先捕获当前激活的工作簿,等窗体显示后再重新激活它,但这个方法不管用——调试打印出来的工作簿名称是正确的,但实际就是没激活对应的工作簿。修改后的代码如下:
Sub UserFormShow() Dim wb As Workbook Set wb = ActiveWorkbook frmMain.Show wb.Activate Debug.Print "Activated Workbook: " & wb.Name End Sub
有没有大佬知道这是什么原因导致的,以及对应的解决办法呀?
备注:内容来源于stack exchange,提问作者Sergeman
相关产品推荐
相关产品推荐

