sakajohn wrote:ผมใช้สูตรคำนวน VLOOKUP($H$7,MyDatabase,13,0) ในชีท ออกใบเสนอราคา โดยให้ดูค่าว่า ถ้าตรงกับเลขที่เอกสาร ในคอลัมภ์ A ของชีท MyDatabase แล้วให้กลับมาแสดงค่าที่ ชีท ออกใบเสนอราคา
1. *ปัญหาคือ ถ้าเราไม่เติมข้อมูล ในตาราง ค่าที่ส่งกลับไปที่ ชีทออกใบเสนอราคา จะเป็นเลข 0 ผมอยากให้เป็นช่องว่างเฉยๆ จะต้องเขียนสูตรอย่างไรครับ

สามารถปรับสูตรตาม
ตัวอย่างด้านล่างครับ
=IF(VLOOKUP($H$7,MyDatabase,10,0)=0,"",VLOOKUP($H$7,MyDatabase,10,0))
sakajohn wrote:2. ในช่อง row 5 จะใช้ในการกรอกข้อมูล (เป็น MasterRecord) เมื่อกรอกข้อมูลครบ กดปุ่ม ค่าก็จะมาบันทึกใน Mydatabase ต่อลำดับลงมา ปํญหาคือ ถ้าต้องการให้แถว A5 ถึงU5 ต้องมีข้อมูลถึงจะกดบันทึกค่าได้ ถ้าขาดช่องใดช่องหนึ่ง จะไม่สามารถกดปุ่มบันทึกได้ ตอนนี้ไม่มีค่าอะไรก็สามารถกดบันทึกได้ครับ
สามารถใช้ Code ตรวจสอบว่า A5:U5 มีข้อมูลครบทุกช่องหรือไม่ การเขียน Code จะต้องเขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน ติดแล้วค่อยถามกันต่อครับ
sakajohn wrote:3. ผมไม่ต้องการให้ แก้ไขข้อมูลใน MyDatabase ได้ แต่ถ้าเรา Lock ก็จะไม่สามารถอัพเดทข้อมูล จาก Masterrecord ลงMyDatabaseได้ มีวีอย่างไรบ้าง
ทำการป้องกันข้อมูล กรณีเราบันทึกด้วย Code ให้ใช้ Code ปลดการป้องกันก่อน แล้วค่อยบันทึก จากนั้นให้ทำการป้องกันด้วย Code อีกครั้ง
sakajohn wrote:4. ตรงช่องเลขที่เอกสาร ผมตั้งค่าให้ RunNumber อัตโนมัติโดยใช้สูตร "CPC"&TEXT(B5,"yy")&"-"&TEXT(NOW(),"mm")&"-"&TEXT(ROWS($B$5:B5),"000") ถ้าต้องการให้เมื่อขึ้นเดือนใหม่เลขจะกลับไป รัน ที่ 001 ใหม่ จะทำได้ไหมครับ
ช่วยยกตัวอย่างข้อมูลให้เห็นว่าขึ้นเดือนใหม่แล้วจะได้ค่าเลขที่เอกสารเป็นค่าใด ไม่จำเป็นต้องเขียนมาเป็นสูตร อธิบายถึงปัญหา เป้าหมายที่ต้องการมาก็เพียงพอ การเขียนสูตรลงไปในฐานข้อมูลเป็นสิ่งที่ไม่ควรทำ ควรใช้ Code ในการจัดการเพื่อให้เป็นค่าคงที่ครับ