VBA代码问题

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode <> 1 Then Cancel = True
End Sub
这段代码的意思是什么?特别是closemode表示什么意思?谢谢

QueryClose 事件的语法具有以下几部分:
cancel 一个整数。将此参数设置成 0 以外的任意值,在所有加载的用户窗体中停止QueryClose 事件,并防止关闭 UserForm 与应用程序。
closemode 一个值或常数,用来指示引起 QueryClose 事件的原因。其含义如下:
0 用户在 UserForm上选择“控制”菜单中的“关闭”命令。
1 由代码调用 Unload 语句。
2 正在结束当前 Windows 操作环境的过程。
3 Windows 的“任务管理器”正在关闭这个应用。
所以,你这段代码的意思就是,如果不是由代码调用Unload引起的关闭操作,则停止关闭操作。也就是说,不允许用户通过菜单命令关闭窗口。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-21
这个函数定义的很模糊,从字面上理解
rng 应该是一个range类型的变量,rng() 就是取得其中的一个单元格数据
规范写法:
Function drawone(rng As Range, Optional recalc As Boolean = False)
Application.Volatile recalc
drawone = rng(Int(rng.Count) * Rnd + 1)
End Function
可以用下面的SUB调用:
Sub iSub()
Dim iRng As Range
Set iRng = Range("a1:a5")
MsgBox drawone(iRng)
End Sub
第2个回答  2011-07-21
这个函数定义的很模糊,从字面上理解
rng 应该是一个range类型的变量,rng() 就是取得其中的一个单元格数据
规范写法:
Function drawone(rng As Range, Optional recalc As Boolean = False)
Application.Volatile recalc
drawone = rng(Int(rng.Count) * Rnd + 1)
End Function
可以用下面的SUB调用:
Sub iSub()
Dim iRng As Range
Set iRng = Range("a1:a5")
MsgBox drawone(iRng)
End Sub
另外,虚机团上产品团购,超级便宜
相似回答