【发布时间】:2020-03-01 20:40:45
【问题描述】:
当我尝试检查两种方式时,似乎没有用户表单。
我的用户表单放在这里:
代码放在Modul3中:
'Called in Modul3
Sub testUf()
MsgBox VBA.UserForms.Count 'gives result of 0
MsgBox isFormLoaded("UserFormNewPath")'gives result of FALSE
End Sub
Function isFormLoaded(ByVal strName As String) As Boolean
Dim i As Integer
isFormLoaded = True
strName = LCase(strName)
For i = 0 To VBA.UserForms.Count - 1
If LCase(UserForms(i).Name) = strName Then Exit Function
Next
isFormLoaded = False
End Function
我想检查指定的用户表单是否存在,以便我可以在那里打印详细信息或在普通 MsgBox 中进行选择。
为什么没有计算用户表单或者我必须做什么才能获得 TRUE 检查结果?
解决方案
正如 warcupine 提到的,以下步骤有所帮助:
- 将 UserForm 的 ShowModal 属性设置为 false
- 添加此代码行:
UserFormNewPath.Show
【问题讨论】:
-
我试过了。但是剩下的代码只有在我关闭用户窗体时才会执行?!
-
完美,有帮助!谢谢!