Page 1 of 1

สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 04, 2018 2:08 pm
by lnongkungl
รบกวนสอบถามอาจารย์ หรือผู้รู้ครับ คือรับข้อมูลจากเครื่องยิงบาร์โค๊ดแล้วต้องการให้ curcer อยู่ที่เดิมครับ นอกจากเข้าไปตั้งค่า ใน Advance Option > After pressing Enter,move selection แล้วมีวิธีไหนอีกบ้างครับ เพราะว่าตั้งค่าตรงนี้แล้วมันเป็นทั้งหมด คือต้องการให้เป็นแค่ ไฟล์นี้ หรือ sheet นี้ แค่ที่เดียวครับ เพราะการรับค่าจากเครื่องยิงบาร์โค๊ดแล้วมัน enter ให้ auto ครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 04, 2018 2:22 pm
by snasui
:D หากไม่กำหนดผ่าน Option ก็ต้องเขียน VBA เข้าไปช่วย ซึ่งต้องเขียนมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Mon Aug 06, 2018 9:32 am
by lnongkungl
ผมเขียนไว้แล้วครับ แต่มันไม่เป็นผล คือ ถ้าคีย์เลขบาร์โค๊ดเอาเอง แล้วกด Enter มันก็ไม่เลื่อนลงมาครับ แต่พอใช้เครื่องยิงบาร์โค๊ดยิงแล้วมันก็ลงมาตลอดเลย

โค๊ดที่ผมใส่ ปิดท้าย Module ครับ

Code: Select all

Range("ForminputID").ClearContents
Range("ForminputID").Select

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Mon Aug 06, 2018 8:15 pm
by snasui
:D เขียน Code ไว้ใน Change Event ครับ

ลองศึกษาจากกระทู้เหล่านี้ครับ Change Event

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Tue Aug 07, 2018 11:45 am
by lnongkungl
ลองเอาโค๊ดไปปิดท้ายที่ Change Event แล้วครับ ก็เหมือนเดิม คือคีย์มือแล้ว enter ผลคือ cursor อยู่ที่เดิม แต่ถ้ายิงด้วยตัวยิงบาร์โค๊ดแล้ว cursor ก็ยังเลื่อนลงมาอยู่ดี

หรือที่ตัวยิงบาร์โค๊ดไม่ใช่ enter แต่ผมก็จบด้วย .select ใน range ที่ต้องการไว้แล้ว แต่ทำไมยังไม่ได้

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Tue Aug 07, 2018 7:13 pm
by snasui
:D ลองแนบไฟล์ที่เขียน Code แล้วมาดูกันครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Wed Aug 08, 2018 10:49 am
by lnongkungl
ไฟล์แนบครับ อาจารย์

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Wed Aug 08, 2018 7:25 pm
by snasui
:D เพิ่ม Target.Activate เข้าไปก่อน End Sub เพื่อให้เลือกเซลล์ที่เปลี่ยนแปลง แล้วลองยิง Barcode ดูใหม่ครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Thu Aug 09, 2018 3:14 pm
by lnongkungl
ครับ เด๋วลองดู แล้วจะมาแจ้งผล ครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Thu Aug 09, 2018 10:48 pm
by snasui
lnongkungl wrote: Thu Aug 09, 2018 3:14 pm ครับ เด๋วลองดู แล้วจะมาแจ้งผล ครับ
:D คำที่ผมระบายสีผิดกฎการใช้บอร์ดข้อ 1 ด้านบน กรุณาระมัดระวังด้วยครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 1:59 pm
by lnongkungl
ขออภัยครับ รีบพิมพ์ไปหน่อย

ลองแล้วครับ เป็นเหมือนเดิม หรือจะเป็นที่ตัวที่ใช้ยิงบาร์โค๊ด มันไม่ใช่ code enter
แล้วมันจะเป็นอะไร เพราะคีย์มือแล้ว enter cursor ไม่เลื่อนครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 2:16 pm
by snasui
:D หากเป็นเช่นนั้นคงต้องลองดักจับโดยแทรกทุก Event ของ Worksheet แล้วสังเกตว่า Event ไหนทำงานบ้าง จากนั้นค่อยไปเขียน Code ให้เลื่อน Cursor กลับไปไว้ตำแหน่งเดิมหรือตำแหน่งที่ต้องการครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 2:28 pm
by lnongkungl
ก็มี Even Change อันเดียวครับ ใน worksheet แล้วก็ดึง module มาใช้ในการ add item แต่ผมก็ลองใส่ .select ทั้งใน module แล้วก็ใน even change แล้วทั้ง 2 ตัว ก็ยังไม่ได้อยู่ดี หรือ สลับใส่อันใดอันหนึ่งก็ไม่ได้ ผมก็จนปัญญาละครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 2:32 pm
by snasui
:D ผมหมายถึงว่าให้เพิ่ม Event เข้าไปแล้วสังเกตว่าอันไหนมันทำงานจากสแกนก็ให้ดักที่อันนั้น

Event ของ Worksheet มีจำนวนมากไม่ใชเฉพาะ Selection_Change และ Worksheet_Change ลองเพิ่มเข้าไปและทดสอบดู Event ไหนทำงานจากการใช้ตัว Scan ครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 2:53 pm
by lnongkungl
โอ....คงไล่กันยาว ครับเดี๋ยวลองดูครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 3:05 pm
by snasui
:D เท่าที่ดูน่าจะมี Calculate, BeforeRightClick, BeforeDoubleclick ที่น่าจะเกี่ยวข้องแต่ก็ถือว่าเป็นทางอ้อม

ควรจะดักได้ตั้งแต่ Worksheet_Change ในกรณีของการ Scan ไม่ทราบว่าเมื่อ Debug แล้ว Code มันทำงานอย่างไร มีการกลับมาเลือก Target แล้วไม่ทำงานหรือว่าไม่เลือก Target ครับ :?:

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 3:47 pm
by lnongkungl
ไม่เลือก Target ครับ เหมือนเราคีย์มือแล้วกด Enter ก็จะเลื่อนลงมา 1 ช่อง
สมมุติ target คือ B5 เมื่อ enter ลงมา คือ C5 แต่อย่างที่แจ้งไปข้างต้นครับ
ใส่ code เมื่อคีย์ข้อมูลแล้ว Enter Cursor ก็ต้องกลับไปเลือกที่ target หรือ B5 ซึ่งผลทดสอบของ code คือ
เมื่อคีย์มือ แล้วกด enter cursor ก็อยู่ที่ B5 ที่เดิม ตาม code ที่เราใส่ไว้ แต่พอใช้เครื่องยิงบาร์โค๊ด cursor กลับไม่อยู่ที่เดิม ตาม code ที่เราใส่ไป กลับเลื่อนลงมาที่ C5 เหมือน enter 1 ครั้ง ครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 4:18 pm
by snasui
:D เข้าใจและช่วยไม่ได้ครับ ถ้าคีย์มือแล้วมันเลือก Target ได้ จะกรอกด้วยสิ่งใดมันก็ควรจะเลือก Target ได้ หากเลือกไม่ได้ก็เป็นเรื่องแปลกครับ

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Sat Aug 11, 2018 4:22 pm
by lnongkungl
ก็นี่แหละครับ ที่ทำให้มึน เพราะคีย์มือมันทำได้ แต่ทำไมกับเครื่องยิงบาร์โค๊ด ถึงใช้ไม่ได้

Re: สอบถาม การรับข้อมูลจากบาร์โค๊ดแล้วให้ curcer อยู่ที่เดิมครับ

Posted: Tue Aug 14, 2018 2:24 pm
by menem
เท่าที่ทราบ อุปกรณ์ (เครื่องยิงบาร์โค๊ด) จะมี Option ในตัวว่าจะให้แทรก LF เข้าไปหลังจากอ่านค่าหรือเปล่า
(คือจะมีทั้ง CR/LF) ดังนั้น โดยปกติ เวลาเราป้อนผ่าน Keyboard จะมีการกด Enter ซึ่งก็คือ CR แต่เครื่องยิง
จะมีการเพิ่ม LF เข้าไปให้อีกหนึ่งอัน ทำให้มันกลายเป็นว่า จังหวะวที่ส่ง CR Cursor จะเป็นไปตามที่เขียนใน VBA
แต่หลังจากนั้นจะมี LF ทำให้ Cursor เลื่อนลงไปอีก 1 ช่องครับ

ลองตรวจสอบวิธีการตั้งค่าเครื่องยิงบาร์โค๊ดอีกทีนะครับ