我有2个问题。
当我按 esc 按钮然后关闭Userform1
当我在open
输入TextBox1
时,Userform2
应显示。同时自动清除TextBox1
中的Userform1
。
我尝试过以下代码:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If textbox1.value = "open" then
userform2.show
textbox1.value =""
End If
End Sub
答案 0 :(得分:18)
使用 Esc
关闭userform1
如果您对userform没有任何控制,那么只需使用此代码
即可Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 27 Then Unload Me
End Sub
如果你说一个TextBox和一个命令按钮,那么使用这个
Private Sub UserForm_Initialize()
CommandButton1.Cancel = True
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 27 Then Unload Me
End Sub
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 27 Then Unload Me
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
如果您有任何其他可以关注的控件,那么您必须使用该控件的KeyPress
事件,就像我对TextBox
所做的那样
当我向textbox1输入“open”时,userform2会自动在userform1中显示清晰的textbox1。
KeyPress
只会捕获一个密钥。使用Change
事件来比较文本框中的内容。
Private Sub TextBox1_Change()
If LCase(TextBox1.Value) = "open" Then
TextBox1.Value = ""
UserForm2.Show
End If
End Sub
答案 1 :(得分:16)
添加下一个代码:
Private Sub cmdClose_Click()
Unload Me
End Sub
5.将按钮的高度和宽度设置为0
就是这样
答案 2 :(得分:0)
如果您有一个关闭表单的按钮,只需将(取消)属性设置为 True ,这将触发(Esc)上的取消按钮。 欢呼声。
答案 3 :(得分:-3)
非常正确...如果您在用户表单上有关闭按钮并且您已为此编写代码(卸载我),则将取消属性设置为True(默认情况下为假)