snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
teeraponzaa
Member
Posts: 6 Joined: Tue Sep 19, 2017 11:26 am
#1
Post
by teeraponzaa » Sun Jun 21, 2020 10:25 pm
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
You do not have the required permissions to view the files attached to this post.
teeraponzaa
Member
Posts: 6 Joined: Tue Sep 19, 2017 11:26 am
#3
Post
by teeraponzaa » Sun Jun 21, 2020 11:09 pm
ได้แล้วครับ แต่ไม่ทราบว่าใช่แบบที่อาจารย์บอกหรือป่าวครับ ไม่เข้าใจครับว่าจะเอา Setfocus ไปไว้ตรงไหนครับรบกวนช่วยอธิบายเพิ่มได้มั้ยครับ ตอนนี้เลยใช้แบบนี้แทนไปก่อน
Code: Select all
Private Sub TextBox2_AfterUpdate()
Call CommandButton1_Click
End Sub
teeraponzaa
Member
Posts: 6 Joined: Tue Sep 19, 2017 11:26 am
#4
Post
by teeraponzaa » Sun Jun 21, 2020 11:10 pm
ได้แล้วครับ แต่ไม่ทราบว่าใช่แบบที่อาจารย์บอกหรือป่าวครับ ไม่เข้าใจครับว่าจะเอา Setfocus ไปไว้ตรงไหนครับรบกวนช่วยอธิบายเพิ่มได้มั้ยครับ ตอนนี้เลยใช้แบบนี้แทนไปก่อน
Code: Select all
Private Sub TextBox2_AfterUpdate()
Call CommandButton1_Click
End Sub
snasui
Site Admin
Posts: 30988 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#5
Post
by snasui » Sun Jun 21, 2020 11:40 pm
กรุณาอ่านโพสต์ #6 ใน Link ที่ผมแนบไปว่า SetFocus ที่ผมแจ้งไปนั้นมีลักษณะเป็นอย่างไรและตัวอย่างในนั้นนำ SetForcus ไว้ตรงไหน ไม่เข้าใจค่อยนำมาถามกันต่อครับ
และหากว่าใช้ TextBox2_AfterUpdate แล้วได้ตรงตามที่ต้องการก็ไม่จำเป็นต้องใช้ SetFocus ครับ
คำว่า "หรือป่าว" ควรเป็น "หรือเปล่า" หรือ "หรือไม่" แทน อ่านกฎการใช้บอร์ดข้อ 1 ด้านบนด้วยครับ