EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)ที่เขียนไว้ในชีท Main ตามด้านล่าง แสดงว่าสับขาหลอกผมหรือไรครับjoo wrote:ขอคุณครับอาจารย์ ที่ซีท Main เงื่อนไขไม่ตรงคือ เมื่อเลือก"ยกมา"ที่ D10,D12D13 จะแสดง "-" จริงๆ ต้องแสดงเฉพาะ D12,D13 เท่านั้น ตรงนี้ผมแก้ไขปรับใหม่แล้วใช้ได้ดีครับ ทีนี้ถ้าหากว่า D10 หรือ D12,D13 แสดงค่า "-" แล้วต้องการไม่ให้คีย์ข้อมูลได้ต้องเพิ่มโค้ดล็อคเซลล์ยังไงครับ
อ่านไม่ละเอียดไปหน่อย สำหรับสูตรใหม่แล้วเพื่อให้สามารถ Search เพียงบางส่วนของข้อมูล ที่ชีทบันทึกการลา เซลล์ L5 คีย์ที่ Sheet3 ผมลองดูแล้วเงื่อนไขไม่ตรงครับ เงื่อนไขที่D6 เวลาเราเลือกรายการก็จะเห็นทั้งรหัสและชื่อก็จะสามารถคลิกเลือกรายการได้ตรงนีทำได้ แต่ถ้าไม่คลิกเลือกรายการที่แสดงเพียงแค่ป้อนรหัสเพียงอย่างเดียวก็ให้ระบบค้นหาให้ตรงนี้ยังไม่ได้ครับ
แต่เมื่อเปลี่ยนเงื่อนไขใหม่เป็นด้านล่างและปรับ Code มาใหม่เองแล้วจากที่บอกมาที่D10 ถ้า D9 เท่ากับ "ยกมา" ให้สามาถคีย์ข้อมูลได้
แต่ถ้าเท่ากับ "ลา" ก็ให้ใส่เครื่องหมาย " - " ลงไป
ที่D12 ถ้า D9 เท่ากับ "ลา" ให้สามาถคีย์ข้อมูลได้
แต่ถ้าเท่ากับ "ยกมา" ก็ให้ใส่เครื่องหมาย " - " ลงไป
ที่D13 ถ้า D9 เท่ากับ "ลา" ให้สามาถคีย์ข้อมูลได้
แต่ถ้าเท่ากับ "ยกมา" ก็ให้ใส่เครื่องหมาย " - " ลงไป
ลองตามนี้ครับตอบกลับพร้อมอ้างอิง
โค้ดที่อาจารย์ ทำไว้ล็อคได้ครับแต่เงื่อนไขไม่ตรงครับ คือว่าเมื่อ D9 เท่ากับ "ยกมา" ที่ D10 ต้องเป็นค่าว่าง D12,D13 ต้องเป็น "-"และล็อคไว้ไม่สามารถคีย์ข้อมูลได้ เมื่อ D9 เท่ากับ "ลา" ที่ D10 ต้องเป็นค่า "-" ล็อคไว้คีย์ข้อมูลไม่ได้และที่ D12,D13 จะเป็นค่าว่างสามารถคีย์ข้อมูลได้
ผม ปรับโค้ดใหม่ให้เงื่อนไขมันตรงแต่ว่า เมื่อ D9 เท่ากับ"ลา" ที่ D10 แสดง "-" และที่ D12,D13 เป็นค่าว่าง ไม่สามารถคีย์ข้อมูลได้(ตามเงื่อนไขต้องคีย์ข้อมูลได้)อาจารย์ช่วยดูโค้ดให้ หน่อยครับ
ไม่เข้าใจตรงแถบดำครับ แถบดำมาจากไหนครับที่ Sheet3 ลองดูแล้วถ้าแถวไหนเป็นแถบดำก็สามารถคีย์เฉพาะรหัสได้ถ้าพิมพ์รหัสอื่นที่ ไม่ขึ้นแถบดำระบบก็จะไม่ค้นหาได้ตามเงื่อนไขคือที่ D6 คือถ้าจำรหัสได้ก็คีย์รหัสได้เลยไม่ต้องไปกดเลือกในรายการถ้าจำไม่ได้ก็ค่อย ไปเลือกดูในรายการ
Code: Select all
If Year(Range("D12")) <> Year(Date) or Year(Range("D13")) <> Year(Date) then
Msgbox "......" <-- กรอกคำบรรยายที่ต้องการ
Exit Sub