Page 1 of 1
ขอวิธีรันเลขเอกสารแบบไม่ต่อเนื่อง
Posted: Mon Mar 04, 2019 6:10 pm
by blueice
รบกวนขอความช่วยเหลือจากทุกท่านครับ
จุดประสงค์ในการขอความช่วยเหลือคือ การรันเลขเอกสารแบบไม่ต่อเนื่อง เพราะ การออกเลขเอกสารนั้นไม่เรียงตามการรับเข้ามาของเอกสาร ซึ่ง เอกสารลำดับที่ 3 อาจจะออกก่อนลำดับที่ 1 ก็ได้ ซึ่งปัจจุบัน สามารถทำแบบรันต่อเนื่องได้อยู่ครับ แต่พอจะทำแบบกระโดดข้ามไปมา โดยการให้หาเลขหรือลำดับที่มากที่สุด ก็ไม่ทราบว่าจะใช้สูตรไหนอย่างไร ซึ่งผม ไม่มีพื้นฐานของ VBA ด้วยนะครับ จึงอยากจะแนะนำ พี่ ๆ ช่วยสอน หรือ แนะนำหน่อยครับว่าต้องทำอย่างไร
ตามไฟล์แนบ คือ อยากทำให้ B4 เป็น 001 แล้ว B2 เป็น 003 ประมาณนี้ครับ
ขอบคุณครับ
Re: ขอวิธีรันเลขเอกสารแบบไม่ต่อเนื่อง
Posted: Mon Mar 04, 2019 8:23 pm
by snasui

ช่วยอธิบายหลักการคิดมาด้วยครับ เช่น B4 เป็น 001 เพราะเข้าเงื่อนไขใด ตูจากไหน อย่างไร อธิบายมาอย่างละเอียดครับ
Re: ขอวิธีรันเลขเอกสารแบบไม่ต่อเนื่อง
Posted: Tue Mar 05, 2019 9:52 am
by blueice
ครับ ขออนุญาตอธิบายดังนี้ครับ
ตามรูปด้านล่างนี้ คือ หน้างานปกติ ครับ ซึ่งจะรับตัวอย่างเข้ามาทดสอบแล้วเรียงลำดับไว้แล้วครับ แต่เวลาที่จะทำ Report ออก อาจจะไม่ได้ออก Report เรียงตามลำดับนี้ อาจจะมีการสลับลำดับการออกได้ แต่ตามสูตรที่เขียนไว้ จะเขียนเพื่อเรียงลำดับ จากการดึงค่า Cell ลำดับก่อนหน้ามา +1 ครับ มีสูตรดังนี้ครับ
- สูตรตั้งต้นเพื่อให้ได้ 0001/MMYY คือ = IF($BP2="","",(TEXT(Left(Sheet2!$A1,1),"000")&"/"&Left(BR2,2)&Right($E2,2))) โดยที่ Sheet2!$A1 จะเป็นค่าอ้างอิงที่ไม่เปลี่ยนแปลง คือ เลข 1
- สูตรสำหรับเรียงลำดับ คือ = IF($BP3="","",Text(1+LEFT($BQ2,3),"000")&"/"&LEFT($BR3,2)&Right($BR3,2))
ซึ่งผมพยายามจะหาการอ้างอิง โดยมีแนวความคิด ใช้ค่า Max แล้วค่อย +1 แต่ก็ยังไม่สำเร็จ เพราะตัวเลขก็จะไม่นิ่ง จึงอยากจะรบกวนช่วยดังนี้ครับ
อยากได้สูตรหรือวิธีการ ที่จะสามารถ Gen Report No. โดยไม่ต้องเรียงตามลำดับตาม Cell ก่อนหน้า แต่ให้ไปอ้างอิง Report No. ล่าสุดเพื่อใช้ +1 แทนครับ
รบกวนด้วยนะครับ
ขอบคุณครับ
Capture numbering.PNG
Re: ขอวิธีรันเลขเอกสารแบบไม่ต่อเนื่อง
Posted: Tue Mar 05, 2019 7:34 pm
by snasui

ลองแนบไฟล์ที่เป็นต้นทางของข้อมูล และคีย์คำตอบที่ปลายทางว่าต้องการให้เซลล์ไหนมีค่าเป็นเท่าใด ด้วยเงื่อนไขใดมาเพิ่มเติมครับ
ภาพที่แนบมาดูยากเพราะตัวหนังสือเล็กและไม่ได้สื่อว่าต้องการนำรายการไหนไปแสดงก่อนหลังและที่แสดงเช่นนั้นเกิดจากเงื่อนไขใด
การสอบถามปัญหาไม่ควรถามมาเป็นสูตร เพียงแค่อธิบายถึงข้อมูลต้นทางและสิ่งที่ต้องการปลายทางว่าเป็นเช่นไร วางอยู่ที่ไหน ด้วยค่าเท่าใด ผู้ตอบจะช่วยคิดสูตรให้เองครับ