Page 1 of 1

code enter select

Posted: Sun Apr 29, 2018 10:29 am
by sutham
หากต้องการให้กด enter บนคีย์บอร์ด หลังจากใส่ข้อมูลใน textbox1 (ลำดับ) แล้วให้ SetFocus อยู่ที่ textbox1 เหมือนเดิม พร้อมกับให้เลือกข้อความใน textbox1 ด้วย เพื่อคีย์ข้อมูลใหม่ใน textbox1 ได้เลย จะต้องปรับ code อย่างไร ผมได้ใช้ code

Code: Select all

Textbox1.SetFocus


เนื่องจากพอกด enter เคอร์เซอร์จะไปเลือกอยู่ที่ textbox2

code ที่ผมใช้ใน Textbox1 ดังนี้

Code: Select all

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then  'กดคีย์ enter
         TextBox2.Value = Application.WorksheetFunction.Index(Sheets("sheet1").Range("A:B"), Application.WorksheetFunction.Match(TextBox1.Value * 1, Sheets("sheet1").Range("A:A"), 0), 2)
    End If
    TextBox1.SetFocus
End Sub

Re: code enter select

Posted: Sun Apr 29, 2018 11:44 am
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    On Error Resume Next
    TextBox2.Value = Application.WorksheetFunction.Index(Sheets("sheet1").Range("A:B"), Application.WorksheetFunction.Match(TextBox1.Value * 1, Sheets("sheet1").Range("A:A"), 0), 2)
    If Err <> 0 Then
        TextBox2.Text = ""
    End If
End Sub

Private Sub TextBox2_AfterUpdate()
    With TextBox1
        .SelStart = 0
        .SelLength = Len(.Text)
        .SetFocus
    End With
End Sub

Re: code enter select

Posted: Sun Apr 29, 2018 8:38 pm
by sutham
ใช้งานได้แล้วครับ
ขอบคุณครับ