You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:30:32