Page 1 of 1
สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Sun Jul 09, 2017 5:57 am
by Kotchakorn
ผมต้องการรับข้อมูล บาร์โค้ด จาก A2 --> B2 --> C2 -->A3 -->B3-->C3-->A4-->B4-->C4 ไม่ทราบพอมีสูตรบ้างมั้ยครับ
Re: สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Sun Jul 09, 2017 3:26 pm
by parakorn
คลุม A2 ถึง C4 > คลิ๊กขวา > Format Cells > Protection > เอาเครื่องหมายติ๊กถูกตรงคำว่า Lock ออก > Ok
> Review > Protect Sheet > เอาเครื่องหมายติ๊กถูกตรง Select locked Cells ออก > OK
คราวนี้จะสามารเลือก ได้เฉพาะ Cell ที่เราต้องการครับ
คลิ๊ก A2 ใส่บาร์โค้ด กดปุ่ม Tab ไปเรื่อยๆ สังเกตุผลครับ
Re: สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Sun Jul 09, 2017 11:23 pm
by Kotchakorn
ขอบคุณครับ แต่ติดปัญหานิดหน่อยครับ A2 และ B2 ติด สูตร vlookup หาก Protect sheet สูตร vlookup จะไม่ทำงานครับ
Re: สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Mon Jul 10, 2017 12:28 am
by parakorn
การ Protect sheet ใช้งานร่วมกับสูตรได้ครับ ลองแนบไฟล์ตัวอย่างมาดู จะได้เห็นปัญหาครับผม
Re: สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Mon Jul 10, 2017 5:05 am
by Kotchakorn
Sheet ที่ต้องการคือ Borrow ครับ ตรง B4 ยิงบาร์โค้ด แล้วจะเลือนไป C4 --> D4 --> B5 จะวนรูปอย่างนี้ไปเรื่อยๆครับ แต่ช่อง B4 เมื่อยิงข้อมูลแล้ว ข้อมูลจะ vlookup ที่ช่อง E4. ครับ
ผมขอแนบโค้ด ของอ. Snasui.หน่อยนะครับ
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 = 4 Then
Target.Offset(1, 0).End(xlUp).Offset(1, 0).Activate
End If
End Sub
เกือบตรงแล้วครับแต่ติดที่ว่า เมื่อยิงแล้ว cursor เลื่อนลงมาข้างล่างครับ แทนที่จะเลื่อนไป column ถัดไป 2 column ค่อยลงมาเริ่มใหม่
(เมื่อใหม่หัดเรียนรู้ สูตร Excel ^^)
กราบขอบพระคุณเป็นอย่างสูง
Kotchakorn R.
Re: สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Mon Jul 10, 2017 9:25 am
by parakorn
เผอิญไม่ค่อยถนัด VBA ครับ

แต่ลองปรับโค้ดเป็นดังนี้ครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Offset(0, 1).Activate
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 4 Then
Target.Offset(0, 1).End(xlUp).Offset(0, 1).Activate
End If
End Sub
ผลเป็นอย่างไร ได้ตามที่ต้องการหรือไม่ลองทดสอบดูครับ(เนื่องจากไม่ได้แนบโค้ดมากับไฟล์เลยไม่ได้ทดสอบ)
ส่วนกับ Protect Sheet สามารถ Protect Cell ที่เป็นสูตรได้ โดยสูตรยังทำงานอยู่เช่นเดิม
ตัวอย่างตามไฟล์แนบครับ
Re: สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Thu Jul 13, 2017 3:08 am
by Kotchakorn
สอบถามวิธีแก้หน่อยครับ เพราะผมลองแล้วไม่เห็นเหมือนที่พี่แก้เลยครับ ^^
Re: สอบถามการเขียนสูตร การเลื่อน Row และ Column แบบ auto ครับ
Posted: Mon Jul 17, 2017 1:23 am
by parakorn
ผมแค่นำไฟล์ที่แนบมา Lock Cell ที่เป็นสูตรเพิ่มเท่านั้นเองครับ
หากใส่ข้อมูลอ้างอิงแล้วสูตรไม่ทำงาน อาจเกิดจากการปรับ Calculator ให้เป็นในลักษณะ Manual
ลองปรับตามนี้ครับ Formula > Calculation Options > Automatic