Page 1 of 1

อยากให้กดปุ่ม Enter แล้ว VBA ทำงานครับ

Posted: Sun Jun 21, 2020 10:25 pm
by teeraponzaa
Annotation 2020-06-21 220915.jpg
ตามรูปด้านบนครับ ผมสร้าง UserForm เพื่อ Login เข้าใช้งานไฟล์ เวลากรอก User และ Password แล้ว ต้องนำเม้าไปคลิกที่ปุ่ม Enter เพื่อให้ Code ทำงาน หรือ ต้องกดปุ่ม Enter ที่แป้นพิมพ์ 2 ครั้ง ผมต้องการให้เวลากดปุ่ม Enter ที่แป้นพิมพ์ตอนอยู่ที่หน้า UserForm แล้วให้ Code ทำงานทันทีครับ ต้องเพิ่ม Code อะไรไปครับ

Code: Select all

Private Sub CommandButton1_Click()
Dim LR As Integer
Dim ID As Variant

    LR = Sheets("ID").Range("A" & Rows.Count).End(xlUp).Row
    
    For Each ID In Sheets("ID").Range("A1" & ":A" & LR)
        If TextBox1.Text = ID Then
            If TextBox1.Text = ID And UCase(TextBox2.Text) = ID.Offset(0, 1) Then
                Unload Me
                UserForm1.Show
                Exit Sub
            Else
                MsgBox "Password not matt"
                Unload Me
                ThisWorkbook.Close False
            End If
        ElseIf ID.Row = LR Then
            MsgBox "User ID or Password not matt"
            Unload Me
            ThisWorkbook.Close False
        End If
    Next
End Sub

Re: อยากให้กดปุ่ม Enter แล้ว VBA ทำงานครับ

Posted: Sun Jun 21, 2020 10:37 pm
by snasui
:D Search ด้วยคำสำคัญว่า SetFocus เพื่อที่ว่าเมื่อกรอก Password แล้วปุ่ม Enter จะ Active ให้พร้อมกด Enter ครับ

ตัวอย่างการใช้ SetFocus https://www.snasui.com/viewtopic.php?f=3&t=6051

Re: อยากให้กดปุ่ม Enter แล้ว VBA ทำงานครับ

Posted: Sun Jun 21, 2020 11:09 pm
by teeraponzaa
ได้แล้วครับ แต่ไม่ทราบว่าใช่แบบที่อาจารย์บอกหรือป่าวครับ ไม่เข้าใจครับว่าจะเอา Setfocus ไปไว้ตรงไหนครับรบกวนช่วยอธิบายเพิ่มได้มั้ยครับ ตอนนี้เลยใช้แบบนี้แทนไปก่อน

Code: Select all

Private Sub TextBox2_AfterUpdate()
    Call CommandButton1_Click
End Sub

Re: อยากให้กดปุ่ม Enter แล้ว VBA ทำงานครับ

Posted: Sun Jun 21, 2020 11:10 pm
by teeraponzaa
snasui wrote: Sun Jun 21, 2020 10:37 pm :D Search ด้วยคำสำคัญว่า SetFocus เพื่อที่ว่าเมื่อกรอก Password แล้วปุ่ม Enter จะ Active ให้พร้อมกด Enter ครับ

ตัวอย่างการใช้ SetFocus https://www.snasui.com/viewtopic.php?f=3&t=6051
ได้แล้วครับ แต่ไม่ทราบว่าใช่แบบที่อาจารย์บอกหรือป่าวครับ ไม่เข้าใจครับว่าจะเอา Setfocus ไปไว้ตรงไหนครับรบกวนช่วยอธิบายเพิ่มได้มั้ยครับ ตอนนี้เลยใช้แบบนี้แทนไปก่อน

Code: Select all

Private Sub TextBox2_AfterUpdate()
    Call CommandButton1_Click
End Sub

Re: อยากให้กดปุ่ม Enter แล้ว VBA ทำงานครับ

Posted: Sun Jun 21, 2020 11:40 pm
by snasui
:D กรุณาอ่านโพสต์ #6 ใน Link ที่ผมแนบไปว่า SetFocus ที่ผมแจ้งไปนั้นมีลักษณะเป็นอย่างไรและตัวอย่างในนั้นนำ SetForcus ไว้ตรงไหน ไม่เข้าใจค่อยนำมาถามกันต่อครับ

และหากว่าใช้ TextBox2_AfterUpdate แล้วได้ตรงตามที่ต้องการก็ไม่จำเป็นต้องใช้ SetFocus ครับ

คำว่า "หรือป่าว" ควรเป็น "หรือเปล่า" หรือ "หรือไม่" แทน อ่านกฎการใช้บอร์ดข้อ 1 ด้านบนด้วยครับ :roll: