Page 1 of 1

ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Tue Aug 21, 2012 12:52 am
by pipatkenta
เรียน อาจารย์
ผมจำเป็นต้องใช้เอ็กเซลในการจัดเก็บข้อมูล โดยการยิงบาร์โค้ด ปัญหาคือ ต้องคอยกดเอนเทอร์ทุกครั้งเพื่อเปลี่ยนช่องเซล
ทำให้เกิดความล่าช้า คำถามคือ เอ็กเซลจะสามารถตั้งค่าให้เปลี่ยนช่องอัตโนมัติได้หรือไม่ครับ รบกวนอาจารย์ให้ความรู้ด้วยครับ
ขอแสดงความนับถือ
นพรุจ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Tue Aug 21, 2012 2:02 am
by bank9597
pipatkenta wrote:เรียน อาจารย์
ผมจำเป็นต้องใช้เอ็กเซลในการจัดเก็บข้อมูล โดยการยิงบาร์โค้ด ปัญหาคือ ต้องคอยกดเอนเทอร์ทุกครั้งเพื่อเปลี่ยนช่องเซล
ทำให้เกิดความล่าช้า คำถามคือ เอ็กเซลจะสามารถตั้งค่าให้เปลี่ยนช่องอัตโนมัติได้หรือไม่ครับ รบกวนอาจารย์ให้ความรู้ด้วยครับ
ขอแสดงความนับถือ
นพรุจ
:D ต้องใช้ VBA เข้ามาช่วยจัดการครับ ลองเขียนมาดูก่อนครับ ติดส่วนใดค่อยมาแก้ไขกัน

หรือลองศึกษาตามกระทู้นี้ครับ viewtopic.php?f=3&t=3075&start=20

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Tue Aug 21, 2012 2:12 am
by pipatkenta
ขอบคุณอาจารย์มากๆครับ ผมจะลองไปเขียนหากติดปัญหาคงรบกวนอาจารย์อีกครั้งครับ
ขอแสดงความนับถือ
นพรุจ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Wed Sep 05, 2012 4:43 pm
by pipatkenta
เรียนอาจารย์
ผมคงต้องรบกวนขอคำแนะนำจากอาจารย์ให้กระจ่างกว่านี้ครับ ผมลองทำดูแล้วไม่ได้สักทีครับ
รบกวนด้วยครับ
ขอแสดงความนับถือ
นพรุจ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Wed Sep 05, 2012 4:56 pm
by snasui
:D ช่วยแนบไฟล์และ Code ที่ลองแล้วมาด้วย อธิบายว่าปัญหาคืออะไร เป้าหมายที่ต้องการคืออะไรมาด้วยครับ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Wed Sep 05, 2012 11:33 pm
by pipatkenta
เรียน อาจารย์
ผมแนบไฟล์ที่ได้ลองทำดูมาให้แล้วครับ จุดประสงค์หลักของผมคือ
เวลายิงบาร์โค๊ดเซลก็จะเลื่อนลงอัตโนมัติ แต่ที่ผมทำไม่ได้ จะมีรายละเอียดตามไฟล์แนบครับ
ขอแสดงความนับถือ
นพรุจ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Thu Sep 06, 2012 10:36 am
by snasui
:D ที่ Sheet1 เขียน Code ตามด้านล่างครับ

Code: Select all

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Row = 24 Then
        Target.Offset(0, 1).End(xlUp).Activate
    End If
End Sub
ส่วน Code เดิมไม่จำเป็นต้องใช้เพราะสามารถยิง Barcode ลงในเซลล์ได้เลย

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Thu Sep 06, 2012 1:28 pm
by pipatkenta
เรียน อาจารย์
ผมเขียนตามที่อาจารย์แนะนำมาครับ แต่ทำไมสแกนบาร์โค๊ดแล้ว ยังไม่เป็นตามสูตรครับ
ไม่เลื่อนลง

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Thu Sep 06, 2012 4:11 pm
by snasui
:D ช่วยเล่าการทำงานปัจจุบันมาด้วยครับ การสแกนมีกระบวนการอย่างไร เซลล์แรกที่เริ่มรับข้อมูลอยู่ตรงไหน สแกนแล้วโปรแกรมเลื่อนไปเซลล์ถัดไปให้เองหรือไม่หรือต้องเขียน Code เพื่อกำหนดให้เลื่อนเอง ฯลฯ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Fri Sep 07, 2012 12:01 am
by pipatkenta
เรียน อาจารย์
ลักษณะงานของผมคือ จัดเก็บเอกสารการส่งของโดยยิงบาร์โค้ดในไฟล์เอ็กเซล แล้วบันทึกไว้ในแต่ละวันเพื่อสะดวกต่อการค้นหาเลขที่เอกสาร สิ่งที่ผมประสบปัญหาคือ ผมต้องคอยกดเอนเทอร์ทุกครั้งในการสแกนเพื่อนเลื่อนเซล
คำถาม 1.การสแกนมีกระบวนการอย่างไร
ตอบ ในเอกสารการส่งสินค้าจะมีบาร์โค้ด ผมจะสแกนบาร์โค้ดนั้นลงเอ็กเซลครับ
คำถาม 2.เซลล์แรกที่เริ่มรับข้อมูลอยู่ตรงไหน
ตอบ จะอยู่ที่ เซล A4,A44,A84 เสมอในทุกชีทตามลำดับทุกๆ 40 เซลครับ
คำถาม 3.สแกนแล้วโปรแกรมเลื่อนไปเซลล์ถัดไปให้เองหรือไม่หรือต้องเขียน Code เพื่อกำหนดให้เลื่อนเอง ฯลฯ
ตอบ ผมต้องการเขียนโค้ดเพื่อกำหนดการเลื่อนเองครับ เพราะในแต่ละตารางงานจะบันครั้งละ 200 บาร์โค้ด
ทั้งนี้ ผมได้แนบไฟล์มาให้อาจารย์ด้วยครับ เพื่ออาจารย์ได้เห็นภาพและเข้าใจวิธีการทำงานของผมมากขึ้น
ขอแสดงความนับถือ
นพรุจ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Fri Sep 07, 2012 8:25 am
by snasui
:D ผมเขียนมาให้เป็นตัวอย่าง ลองปรับ Code เป็นตามด้านล่าง และวาง Code ที่ Sheet1 ไม่ใช่วางที่ Module1 ซึ่งเป็นการวางผิดที่เช่นตัวอย่างที่แนบมา

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    Target.Offset(1, 0).Activate
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Row = 24 Then
        Target.Offset(0, 1).End(xlUp).Offset(1, 0).Activate
    End If
End Sub

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Sat Sep 08, 2012 12:11 am
by pipatkenta
เรียน อาจารย์
ผมได้ทดลองคัดลอกโค้ดที่อาจารย์เขียนมาไปวางครับ แต่ทำไมยังใช้ไม่ได้เลยครับ
ผมผิดพลาดตรงไหนหรือเปล่า ลองเปลี่ยนตัวเลขก็ไม่ได้ ผมขอคำแนะนำจากอาจารย์อีกครั้งครับ
จากคราวที่แล้วที่ผมตอบอาจารย์ไปว่า ต้องการเขียนโค้ดเพื่อเลื่อนเอง ผมคงเข้าใจผิด
ผมอยากให้อาจารย์ช่วยแนะนำว่า ถ้ากำหนดให้เซลเลื่อนไปเซลถัดไปให้เอง ทำอย่างไรครับ
ผมแนบไฟล์ที่เขียนโค้ดตามอาจารย์มาด้วยครับ
(โดยปกติผมไม่ค่อยมีความรู้เรื่องการเขียนโค้ดมากนักครับ อาจพูดได้ว่าน้อยมากๆครับ)
ขอแสดงความนับถือ
นพรุจ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Sat Sep 08, 2012 2:54 am
by snasui
:D จาก
pipatkenta wrote:ผมต้องคอยกดเอนเทอร์ทุกครั้งในการสแกนเพื่อนเลื่อนเซล
แสดงว่าโปรแกรมจากตัวสแกนไม่ Enter ให้ใช่หรือไม่ครับ หากไม่กด Enter หรือกด Tab ให้ก็ยังจะกลายเป็นการ Edit เซลล์ คืออยู่ในขณะกำลังป้อนค่าลงในเซลล์ ก็คงจำเป็นจะต้องกดแป้น Enter เองครับ เนื่องจากไม่มี Event ของ Excel ที่จะรับรู้การเปลี่ยนแปลงขณะป้อนค่า ยกเว้นว่าป้อนเสร็จแล้วกดแป้น Enter (หรือตามกำหนด) เพื่อรับค่านั้น

สำหรับ Code ที่ผมเขียนให้ไปสามารถทดสอบได้โดยคีย์ค่าทดสอบลงในเซลล์ A2:A24 แล้วกดแป้น Tab หรือ Enter สังเกตได้ว่าหากไปถึงเซลล์ A23 แล้วกดแป้น Tab หรือ Enter โปรแกรมจะเลือก B2 ให้โดยอัตโนมัติ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Sat Sep 08, 2012 6:37 am
by pipatkenta
ขอบคุณอาจารย์สำหรับคำแนะนำครับ
ขอแสดงความนับถือ
นพรุจ

Re: ทำให้เซลเลื่อนลงอัตโนมัติ

Posted: Sun Aug 26, 2018 5:11 pm
by watdoong
thankyou