2013-11-27 49 views
5

我有2個問題。使用退出按鈕關閉用戶窗體

  1. 當我按下ESC 按鈕然後關閉Userform1

  2. 當我輸入openTextBox1然後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 

回答

15

關閉userform1與Esc鍵

如果你沒有對任何用戶窗體控件,然後簡單地使用這個代碼

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
    If KeyAscii = 27 Then Unload Me 
End Sub 

如果說一個文本框,然後命令按鈕使用此

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 

如果您有任何其他的控制,可以採取然後集中你將不得不像我一樣爲TextBox使用該控件的KeyPress事件

當我輸入「打開」到textbox1,然後userform2自動顯示在userform1中清除textbox1。

KeyPress將只捕獲一個密鑰。使用Change事件來比較文本框中的內容。

Private Sub TextBox1_Change() 
    If LCase(TextBox1.Value) = "open" Then 
     TextBox1.Value = "" 
     UserForm2.Show 
    End If 
End Sub 
+0

非常感謝你......它的工作原理。 – Tomz

10
  1. 插入一個新的命令按鈕
  2. 切換其取消屬性爲True
  3. 你可以把它稱呼爲cmdClose
  4. 添加下面的代碼:

    Private Sub cmdClose_Click() 
    
        Unload Me 
    
    End Sub 
    

5.將按鈕的高度和寬度設置爲0

就是這樣

+0

確保新按鈕是屬性Cancel設置爲True的唯一按鈕。 – Vityata

0

,如果你有一個按鈕關閉的形式,只需設置(取消)財產以及將開槍(ESC).. 乾杯取消按鈕。

相關問題