Excel - การซ่อนแถวเมื่อมีการเปลี่ยนแปลงรายการตรวจสอบ
![](http://img.brin-designs.com/img/games/654/excel-hiding-rows-when-validation-list-is-changed.png)
ปัญหา
ฉันมีแผ่นงาน Excel ที่มีสายผลิตภัณฑ์สองชุด ฉันต้องการรายละเอียดเฉพาะสำหรับสายผลิตภัณฑ์หนึ่งชุดที่มองเห็นได้หากฉันเลือกในการตรวจสอบความถูกต้อง
ตัวอย่างเช่น:
ในแผ่นงานของฉันมีการตรวจสอบแบบเลื่อนลงในเซลล์ a2 และข้อมูลใน A3 ถึง S39 และ A42 ถึง S77 เมื่อมีการเลือก select 'X "ในการตรวจสอบฉันควรได้รับข้อมูลใน A42 ถึง S77 และแถวอื่น ๆ (A3 ถึง S39) ที่ซ่อนอยู่ถ้าฉันเลือก rose ในเซลล์ A2 ฉันต้องการข้อมูลเฉพาะสำหรับสิ่งนั้น
สารละลาย
- ใช้รหัสต่อไปนี้โดยคลิกขวาที่แท็บแผ่นงานและเลือกรหัสมุมมอง:
ส่วนตัว Sub Worksheet_Change (ByVal Target เป็น Range) ถ้า Range ("A2") = "X" จากนั้นแถว ("3:39") EntireRow.Hidden = True แถว ("42:77") EntireRow.Hidden = False If If Range ("A2") = "Rose" แล้วแถว ("42:77") EntireRow.Hidden = True แถว ("3:39") EntireRow.Hidden = False End ถ้า If Range ("A2") = "" จากนั้นแถว ("42:77"). EntireRow.Hidden = แถวเท็จ ("3:39") EntireRow.Hidden = สิ้นสุดเท็จหากสิ้นสุดย่อย
- หากต้องการแสดงแถวทั้งหมดอีกครั้งให้ลบเนื้อหาของเซลล์ A2
- รหัสจะถูกเปิดใช้งานทุกครั้งที่มีการเปลี่ยนแปลงแผ่นงาน
สังเกตได้ว่า
ขอบคุณ Trowa สำหรับเคล็ดลับนี้ในฟอรัม