:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

สอบถามการทำ userform scan vba

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

สอบถามการทำ userform scan vba

#1

Post by Leng »

ผมอยากทำให้ Userform เวลายิงบาร์โค๊ดแล้วให้นำข้อมูลที่ใส่ทั้งหมดขึ้นไปในหน้า sheets excel เลย
โดยไม่ต้องสร้างปุ่มกด เพื่อ Add ข้อมูล ผมเลยลองใส่ code ใน combobox

Code: Select all

Private Sub Barcode_Ad_Change()
emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
Cells(emptyrow, 2).Value = Date_Ad.Value
Cells(emptyrow, 3).Value = Box_Ad.Value
Cells(emptyrow, 4).Value = Around_Ad.Value
Cells(emptyrow, 5).Value = Barcode_Ad.Value
Cells(emptyrow, 9).Value = No_Ad.Value
Cells(emptyrow, 1).Value = ComboBox1.Value

End Sub
แต่สิ่งที่ได้คือโค๊ดที่ทำบันทึกได้โดยไม่ต้องกดปุ่ม
แต่ตอน scan กับพิมพ์บาร์โค๊ดทีละตัว ไม่ได้ยกชุดของบาร์โค๊ดมาทั้งชุด

รบกวนช่วยหน่อยนะครับ
system GF - Copy.rar
(199.68 KiB) Downloaded 13 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามการทำ userform scan vba

#2

Post by snasui »

:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Private Sub Barcode_Ad_AfterUpdate()
    emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
    Cells(emptyrow, 2).Value = Date_Ad.Value
    Cells(emptyrow, 3).Value = Box_Ad.Value
    Cells(emptyrow, 4).Value = Around_Ad.Value
    Cells(emptyrow, 5).Value = Barcode_Ad.Value
    Cells(emptyrow, 9).Value = No_Ad.Value
    Cells(emptyrow, 1).Value = ComboBox1.Value
End Sub
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#3

Post by Leng »

ได้ละครับขอบคุณมากครับ
ขอสอบถามอีกข้อครับ
- สามารถยิงบาร์โค๊ดต่อๆ ไปได้เรื่อยๆเลยไหมครับโดยไม่ต้องกดคลิ๊กที่ combobox ทุกครั้งหลังจาก scan 1 ครั้ง
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#4

Post by Leng »

snasui wrote: Tue Jun 26, 2018 9:48 pm :D ตัวอย่างการปรับ Code ครับ

Code: Select all

Private Sub Barcode_Ad_AfterUpdate()
    emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
    Cells(emptyrow, 2).Value = Date_Ad.Value
    Cells(emptyrow, 3).Value = Box_Ad.Value
    Cells(emptyrow, 4).Value = Around_Ad.Value
    Cells(emptyrow, 5).Value = Barcode_Ad.Value
    Cells(emptyrow, 9).Value = No_Ad.Value
    Cells(emptyrow, 1).Value = ComboBox1.Value
End Sub
ได้ละครับขอบคุณมากครับ
ขอสอบถามอีกข้อครับ
- สามารถยิงบาร์โค๊ดต่อๆ ไปได้เรื่อยๆเลยไหมครับโดยไม่ต้องกดคลิ๊กที่ combobox ทุกครั้งหลังจาก scan 1 ครั้ง
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: สอบถามการทำ userform scan vba

#5

Post by logic »

ลอง Set Focus ครับ ~~> https://snasui.com/viewtopic.php?f=3&t=4038#p26130
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#6

Post by Leng »

ผมได้ลองดูแล้วครับแต่ยังไม่ค่อยเข้าใจ
คือผมอยากให้ยิงบาโค้ดใน combobox ต่อได้เรื่อยๆโดยไม่กด ปุ่ม ในการบันทึกข้อมูล รบกวนหน่อยนะครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามการทำ userform scan vba

#7

Post by snasui »

:D ให้ Set Focus กับ ComboBox นั้นหลังจากมีการบันทึกรายการแล้ว โปรแกรมจะวาง Cursor ที่ ComboBox ให้ยิง Barcode ต่อเนื่องไปได้ครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#8

Post by Leng »

Code: Select all

Private Sub userfrom_initialize()
Date_Ad.Value = ""
Box_Ad.Value = ""
Around_Ad.Value = ""
Barcode_Ad.Value = ""
No_Ad.Value
ComboBox1.Value = ""
Barcode_Ad.SetFocus
End Sub
Private Sub Barcode_Ad_AfterUpdate()
    emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
    Cells(emptyrow, 2).Value = Date_Ad.Value
    Cells(emptyrow, 3).Value = Box_Ad.Value
    Cells(emptyrow, 4).Value = Around_Ad.Value
    Cells(emptyrow, 5).Value = Barcode_Ad.Value
    Cells(emptyrow, 9).Value = No_Ad.Value
    Cells(emptyrow, 1).Value = ComboBox1.Value
ผมได้เอามาลองใส่ดูแล้วครับแต่ยังไม่ได้ รบกวนอาจารย์ช่วยหน่อยนะครับผมทำมาหลายวันแล้วแต่ติดแค่อยากให้ตัว scan ต่อเนื่องได้
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามการทำ userform scan vba

#9

Post by snasui »

:D การถามตอบให้ถามในฟอรัม อย่าส่งไปทางข้อความส่วนตัวครับ

การ Set Focus ในกรณีนี้ให้เขียนไว้ก่อน End Sub ใน Code ตามโพสต์ #2 ครับ

หากยังไม่ได้ให้แนบไฟล์ที่ได้ปรับ Code มาแล้วจะได้ช่วยดูให้ได้ อย่าโพสต์มาเฉพาะ Code ครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#10

Post by Leng »

Code: Select all

Private Sub userfrom_initialize()
Date_Ad.Value = ""
Box_Ad.Value = ""
Around_Ad.Value = ""
Barcode_Ad.Value = ""
No_Ad.Value= ""
ComboBox1.Value = ""
Barcode_Ad.SetFocus
End Sub
Private Sub Barcode_Ad_AfterUpdate()
    emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
    Cells(emptyrow, 2).Value = Date_Ad.Value
    Cells(emptyrow, 3).Value = Box_Ad.Value
    Cells(emptyrow, 4).Value = Around_Ad.Value
    Cells(emptyrow, 5).Value = Barcode_Ad.Value
    Cells(emptyrow, 9).Value = No_Ad.Value
    Cells(emptyrow, 1).Value = ComboBox1.Value
    End Sub
    
ต้องขอโทษด้วยครับ ผมรบกวนอาจารย์ช่วยหน่อยครับ ผมไม่สามารถทำให้มัน run ต่อเนื่องได้โดยใช้ปืนบาร์โค๊ดยิง
ผมอยากให้ยิงบาร์โค๊ดต่อๆ ไปได้เรื่อยๆครับโดยบันทึกโค๊ดแรกและเริ่มโค๊ดใหม่และบันทึกต่อไปเรื่อยๆโดยไม่ต้องกดคลิ๊กที่ combobox ทุกครั้งหลังจาก scan 1 ครั้ง
Attachments
system GF.xlsm
(135.43 KiB) Downloaded 3 times
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#11

Post by Leng »

Code: Select all

Private Sub userfrom_initialize()
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    TextBox4.Value = ""
    TextBox5.Value = ""
    TextBox6.Value = ""
    Barcode_Ad.SetFocus
End Sub
Private Sub Barcode_Ad_AfterUpdate()
    Barcode_Ad.SetFocus
    emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
    Worksheets("Add01").Cells(emptyrow, 2).Value = Date_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 3).Value = Box_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 4).Value = Around_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 5).Value = Barcode_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 9).Value = No_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 1).Value = ComboBox1.Value
    Barcode_Ad.SetFocus
End Sub
ต้องขอโทษด้วยครับ ผมรบกวนอาจารย์ช่วยหน่อยครับ ผมไม่สามารถทำให้มัน run ต่อเนื่องได้โดยใช้ปืนบาร์โค๊ดยิง
ผมอยากให้ยิงบาร์โค๊ดต่อๆ ไปได้เรื่อยๆครับโดยบันทึกโค๊ดแรกและเริ่มโค๊ดใหม่และบันทึกต่อไปเรื่อยๆโดยไม่ต้องกดคลิ๊กที่ combobox ทุกครั้งหลังจาก scan 1 ครั้ง
Attachments
system GF.xlsm
(140.07 KiB) Downloaded 2 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามการทำ userform scan vba

#12

Post by snasui »

:D ลองปรับเป็นด้านล่างครับ

Code: Select all

Private Sub Barcode_Ad_AfterUpdate()
If Barcode_Ad.Text <> "" then
    emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
    Worksheets("Add01").Cells(emptyrow, 2).Value = Date_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 3).Value = Box_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 4).Value = Around_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 5).Value = Barcode_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 9).Value = No_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 1).Value = ComboBox1.Value
    Barcode_Ad.Text = ""
    Barcode_Ad.SetFocus
End if
End Sub
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#13

Post by Leng »

ผมได้ลองทำแล้วครับแต่ก็ยังไม่ได้ครับ คือ scan แล้วแต่ยัง ไม่สามารถ scan ต่อได้ครับ รบกวนอาจารย์ด้วยครับ
Attachments
system GF.xlsm
(138.35 KiB) Downloaded 21 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามการทำ userform scan vba

#14

Post by snasui »

:D ชว่ยขยายความคำว่าไม่สามารถ Scan ต่อเนื่องได้มาด้วยว่าเมื่อยิง Barcode แล้วเกิด Barcode ขึ้นหรือไม่ อย่างไร ฯลฯ ครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#15

Post by Leng »

จากที่ได้ลองปรับโค๊ดที่อาจารย์ให้มา ผลที่ได้คือ
-สามารถ scan ได้และข้อมูลขึ้นครับ ข้อมูลเก่าจาก combobox ก็หายไป แต่พอ scan รอบ 2 ไม่สามารถ scanได้ครับ ยกเว้นต้องไปคลิ๊กที่ combobox แล้ว scan ใหม่ ถึงจะมีข้อมูลขึ้นครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#16

Post by Leng »

ผมขอรบกวนอาจารย์ด้วยจริงๆครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามการทำ userform scan vba

#17

Post by snasui »

Leng wrote: Thu Jun 28, 2018 8:33 pm ผมขอรบกวนอาจารย์ด้วยจริงๆครับ
:D ข้อความด้านบนนี้ไม่จำเป็นต้องโพสต์ ผมไม่ปล่อยให้คำถามในฟอรัมนี้ไม่มีคำตอบครับ

ปรับ Code ใหม่เป็นด้านล่างครับ

Code: Select all

Private Sub Barcode_Ad_AfterUpdate()
    emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
    Worksheets("Add01").Cells(emptyrow, 2).Value = Date_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 3).Value = Box_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 4).Value = Around_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 5).Value = Barcode_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 9).Value = No_Ad.Value
    Worksheets("Add01").Cells(emptyrow, 1).Value = ComboBox1.Value
End Sub

Private Sub Barcode_Ad_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Barcode_Ad.Value <> "" Then
        Cancel = True
        Barcode_Ad.Text = ""
    End If
End Sub
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#18

Post by Leng »

ได้แล้วครับขอบคุณมากครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามการทำ userform scan vba

#19

Post by Leng »

ได้แล้วครับ แต่เวลากด botton อื่นข้อมูลก็บันทึกไปด้วย เราสามารถแก้อะไรได้ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามการทำ userform scan vba

#20

Post by snasui »

Leng wrote: Fri Jun 29, 2018 8:48 am ได้แล้วครับ แต่เวลากด botton อื่นข้อมูลก็บันทึกไปด้วย เราสามารถแก้อะไรได้ไหมครับ
:D กดปุ่มไหนถึงทำให้ข้อมูลถูกบันทึกไปด้วยช่วยแจ้งมาด้วยครับ
Post Reply