Excel ลบข้อมูลแต่ยังเหลือ Drop Down List ให้เลือกรายการใหม่

คือตอนนี้ทำงานสร้างบิลส่งของ ในนั้นมีการทำเป็นตาราง โดยมีช่องรายการสินค้า รหัสสินค้า ช่วงด้านบนก็เป็นพวกที่อยู่บริษัท ปัญหาคือตอนนี้ต้องการสร้างปุ่ม โดยจะตั้งชื่อว่าclear เพื่อเมื่อกดปุ่มที่สร้างนี้เเล้ว มันจะลบข้อมูลที่เราได้คลิกเลือกไว้ให้เป็นช่องสีขาวๆเปล่าๆแต่ยังเหลือDrop Down Listให้เราเลือกอยู่  (คือในตารางจะมีคอลัมน์ รหัสสินค้า รายการสินค้า หน่วย จำนวน ในคอลลัมน์ รายการสินค้า และรหัสสินค้า แต่ละอันก็จะมีเซลล์เป็นช่องๆอยู่ซึ่งแต่ละช่องดิฉันได้ทำDrop Down Listไว้ เพื่อเวลาทำงานก็จะได้กดเลือกชื่อสินค้าที่ต้องการ รหัสสินค้า ที่ต้องการลงไปมันก็จะโชว์ขึ้นมา) มีคนเคยแนะนำว่าให้ใช้เครื่องมือ clear ที่อยู่ในแทบเครื่องมือ แต่พอ จขกท ใช้อันนั้นลบ มันลบไปหมดเลย Drop Down Listไว้ก็หายไป ต้องการสร้างปุ่มลบข้างๆตารางโดยตั้งชื่อclear เมื่อกดมันจะลบข้อมูลในตารางแบบฟอร์มให้เป็นสีขาวเปล่าๆ แต่ยังเหลือDrop Down Listให้เลือกสินค้าใหม่เหมือนเดิมยังไง ใครพอทราบวิธีแก้ปัญหาชวยแนะนำหน่อย ต้องให้สูตรหรือโค้ดอะไร ขอบคุณค่ะอมยิ้ม17อมยิ้ม36
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 5
ผมแนะนำวิธีนะครับ เอาแบบง่ายๆเลยนะครับ
เริ่มจากก่อนอื่น การสร้าง DropDown มี 2 แบบครับ คือสร้างไว้ใน Object ที่เป็น ActiveX Controls ครับ ส่วนที่ 2 ใช้ตัว Data Validation
ผมขออธิบายตามที่เจ้าของกระทู้ถามมาก่อนแล้วกันนะครับ
ตามตัวอย่าง ผมสร้าง Sheet ขึ้นมา 1 Sheet ครับ มี ปุ่ม Clear กับ DropDown (ผมใช้ Combobo)
1. ตรงช่องรายการ หรือตัวเลือก ผมใช้สูตรการตึ้งพื้นที่ Cells แบบ Dynamic นะครับ (ภาษาคนคือ ไอสูตรที่มันจะยืดหยุ่น เช่น พอเราเพิ่มค่าตัวเลือกใน List ข้อมูลในตัวเลือกของ Drop Down เราก็จะเพิ่มตาม ถ้าเราลบข้อมูลตัวเลือกให้น้อยลง ตัวเลือกใน DropDown เราก็จะน้อยลงตามไปด้วย) จากตัวอย่าง ผมใช้สูตรคือ =OFFSET($B$4,0,0,COUNTA($B$4:$B$100)) เสร็จแล้ว COPY แล้วกด Ctrl + F3 เพื่อเข้าไปตั้งชื่อพื้นที่ครับเอาไว้ใส่ ListFillRank ครับ
2. สร้างปุ่ม Combobox ตั้งชื่อที่ต้องการ ตัวอย่างผมตั้งว่า CboList  กำหนด ListFillRank  = DataList
3. สร้างปุ่ม CommandButton ขึ้นมา ตั้งชื่อว่า cmdClear  
การล้างค่า ถ้าเราใช้ Clear มันจะหายหมด แต่ถ้าใช้ ListFillRank พอ Clear มันจะ Error
เราก็ใส่ Code ไปว่า
Private Sub cmdClear_Click()
cboList.Value = ""
End Sub

ไฟล์ตัวอย่างนะจ๊ะ ผมใส่ไว้ให้แล้วใน OneDrive
http://1drv.ms/1LwtS00

ภาพนี้ตอนเรากด Ctrl + F3 เราจะเรียกหน้าต่างมาเพื่อกำหนดชื่อ Cells (ปกติถ้าไม่ใช่ตั้งชื่อแบบสูตร เราก็เอาเมาส์คลุมไว้ คลิก Name box แล้วกด Enter เลย

กำหนด ListfillRank เสร็จ มันจะมาเป็นตัว เลือก DropDown ให้เลย ไม่ต้องเขียน Code Add เสียเวลา

รวมแล้ว Code กับสูตร แค่นี้แหละครับ ลองเอาไปประยุกต์ใช้ดูนะ

จบ หวังว่าสิ่งนี้จะเป็นประโยชน์กับคุณนะ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่