gpt4 book ai didi

vba - 为什么我的表格还在内存中

转载 作者:行者123 更新时间:2023-12-02 06:21:09 26 4
gpt4 key购买 nike

我有以下代码打开一个表单,然后执行一些操作。

Sub lag_ny_a3()
Dim frm As ufNyA3

Set frm = New ufNyA3
frm.Show

If Not frm Is Nothing Then
MsgBox("Doing stuff")
Unload frm
End If
End Sub

然后我的表单中有以下代码

Private Sub cmdAvbryt_Click()
Unload Me
End Sub

但是,即使在表单中单击 cmdAvbryt 按钮,第一个代码片段也会进入 if 语句,就好像表单未卸载一样。为什么会这样?如果按下 cmdAvbryt 按钮,如何防止执行 if 语句中的代码?

最佳答案

即使您的 frm 变量不是 Nothing,表单也会被卸载。在 frm.Show 之前和之后添加一些检查:

Debug.Print VBA.UserForms.Count
frm.Show
Debug.Print VBA.UserForms.Count

您会看到它不在加载的表单列表中。如果将对象变量设置为Nothing,它将不会执行“Doing stuff”

关于vba - 为什么我的表格还在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50561004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com