Board logo

標題: [發問] 如何執行2個SetFocus? [打印本頁]

作者: av8d    時間: 2012-6-28 09:35     標題: (謝謝G大,完成)如何在按下按鈕後~執行到TextBox1然後作Enter的動作(自訂表單)

本帖最後由 av8d 於 2012-6-28 17:00 編輯

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then ActiveSheet.UsedRange.AutoFilter 1, "=" & DateValue(TextBox1)
End Sub

以上是如果在TextBox1按Enter後作動作

如果要在按下CommandButton按鈕後~執行到TextBox1然後作Enter的動作該如何寫?

(以上都是在自訂表單執行)

KeyPress
作者: GBKEE    時間: 2012-6-28 11:13

回復 1# av8d
如果要在按下CommandButton按鈕後~執行到TextBox1然後作Enter的動作該如何寫?
你的意思是  按下CommandButton 後會執行到 TextBox1_KeyDown這程序是嗎?
  1. Private Sub CommandButton1_Click()
  2.      TheAutoFilter
  3. End Sub
  4. Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  5.     If KeyCode = 13 Then  TheAutoFilter
  6. End Sub
  7. Private Sub  TheAutoFilter()
  8.       ActiveSheet.UsedRange.AutoFilter 1, "=" & DateValue(TextBox1)
  9. End Sub
複製代碼

作者: av8d    時間: 2012-6-28 13:00

本帖最後由 av8d 於 2012-6-28 16:06 編輯

回復 2# GBKEE


    TextBox1 = Date
    TextBox1.SetFocus
    SendKeys "{Enter}"
可是如果
    UserForm1.TextBox1.SetFocus
    UserForm1.SendKeys "{Enter}"
就不行
作者: av8d    時間: 2012-6-28 16:29     標題: 如何執行2個SetFocus?

TextBox7 = Month(Date) & "/" & Day(Date)
    TextBox7.SetFocus
    SendKeys "{Enter}"
   
    TextBox1 = Date
    OptionButton2.Value = True
    TextBox2.SetFocus


紅色的部分會無法被執行到如果把TextBox2.SetFocus拿掉則可以執行
是否2個SetFocus較上方的會被省略呢?
作者: GBKEE    時間: 2012-6-28 17:11

回復 4# av8d
  1. Option Explicit
  2. Private Sub Ex()
  3.     TextBox7 = Month(Date) & "/" & Day(Date)
  4.     TextBox1.SetFocus
  5.     Application.SendKeys ("~")      'KeyCode = 13
  6.     'Application.SendKeys "{ENTER}" 'KeyCode = 43
  7.     DoEvents                        '使用SendKeys 要將控制權傳回系統
  8.     TextBox1 = Date
  9.     OptionButton2.Value = True
  10.     TextBox2.SetFocus
  11. End Sub
  12. Private Sub TextBox7_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  13.    MsgBox KeyCode
  14.     If KeyCode = 13 Then ActiveSheet.UsedRange.AutoFilter 1, "=" & DateValue(TextBox1)
  15. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)