vba中的非模式窗体
2016年8月11日
作者: 来源:
在VBA中显示用户窗体需要使用Show方法,Show方法显示窗体对象,语法如下: [object.]Show modal 参数object是可选的,对象表达式。如果省略掉object,则将与活动的窗体模块相关联的窗体当作object。 参数modal是可选的,决定窗体是模态的还是非模式的。Modal参数的设置值如下表所示。 常数 值 描述 vbModal 1 UserForm是模态的,缺省值。 vbModeless 0 UserForm是非模式的。 当窗体显示时是模态时,用户在使用应用程序的其它部分之前,必须先对其作出响应。在隐藏或卸载窗体之前,后续代码不会被执行。 比如下面的代码,希望在显示窗体的同时给单元格赋值,但因为窗体显示为模态的,在窗体没有关闭之前,给单元格赋值的代码是不会执行的,所以达不到显示窗体的同时给单元格赋值的目的。 #001 Private Sub CommandButton1_Click() #002 Dim i As Integer #003 Columns(1).ClearContents #004 UserForm1.Show 0 #005 For i = 1 To 1000 #006 Cells(i, 1) = i #007 Next #008 End Sub 只有在窗体显示为非模式时,后续代码才一出现即被执行。模态下是无法操作工作表的,所以应将第4行代码改成如下的代码,才能在显示窗体的同时给单元格赋值。 UserForm1.Show 0
阅读:2167
上一则:vba如何注册控件
下一则:在vba中进行进度条的制作
|