Excel - การซ่อนแถวเมื่อมีการเปลี่ยนแปลงรายการตรวจสอบ

ปัญหา

ฉันมีแผ่นงาน 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 สำหรับเคล็ดลับนี้ในฟอรัม

บทความก่อนหน้านี้ บทความถัดไป

เคล็ดลับยอดนิยม