สารบัญ
บางครั้งเราจำเป็นต้องซ่อนบางแถวเมื่อใช้ชุดข้อมูลขนาดใหญ่ของเราใน Excel เพื่อให้อ่านง่ายขึ้น การใช้ แมโคร VBA เป็นวิธีที่มีประสิทธิภาพสูงสุด รวดเร็วที่สุด และปลอดภัยที่สุดในการเรียกใช้การดำเนินการใดๆ ใน Excel ในบทความนี้ เราจะแสดงวิธีการ ซ่อนแถวใน Excel ตามเกณฑ์ต่างๆ โดยใช้มาโคร VBA
ดาวน์โหลดสมุดงาน
คุณ สามารถดาวน์โหลดสมุดงาน Excel แบบฝึกหัดได้ฟรีจากที่นี่
ซ่อนแถวด้วย VBA.xlsm
14 วิธีการด้วย VBA เพื่อซ่อนแถวใน Excel
ในส่วนนี้ เราจะพูดถึง 12 วิธีที่แตกต่างกันด้วย VBA เพื่อ ซ่อนแถว ใน Excel ตัวอย่างที่เราจะใช้ตลอดทั้งบทความมีดังต่อไปนี้
1. ฝัง VBA เพื่อซ่อนแถวเดียวใน Excel
ถ้าคุณต้องการ ซ่อนแถวเดียว ด้วยโค้ด VBA ให้ทำตามขั้นตอนด้านล่าง ในกรณีของเรา เราจะ ซ่อนหมายเลขแถว 5 ( นามสกุล ) จากชุดข้อมูลของเรา
ขั้นตอน:
- กด Alt + F11 บนแป้นพิมพ์หรือไปที่แท็บ ผู้พัฒนา -> Visual Basic เพื่อเปิด Visual Basic Editor .
- ในรหัสป๊อปอัป หน้าต่าง จากแถบเมนู คลิก แทรก -> โมดูล .
- คัดลอกโค้ดต่อไปนี้และวางลงในหน้าต่างโค้ด
9436
โค้ดของคุณ พร้อมแล้วที่จะ“ เคมี ” ถูกซ่อนอยู่
14. มาโครเพื่อซ่อนแถวตามค่าตัวเลขของเซลล์ใน Excel
ก่อนหน้านี้คุณได้เห็นวิธีซ่อนแถวตามค่าข้อความในเซลล์แล้ว ครั้งนี้คุณจะได้เรียนรู้วิธีการทำเช่นนั้นเมื่อค่า เป็นตัวเลข ในกรณีของเรา เราจะให้ตัวอย่างแถวที่มีค่าตัวเลข “ 87 ” แถวที่ 7 และให้รหัสวิธีซ่อนแถวนั้นแก่คุณ
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้และวางโค้ด
2525
โค้ดของคุณพร้อมทำงานแล้ว
ที่นี่
- StartRow = 4 -> แถวแรก ของชุดข้อมูล
- LastRow = 10 -> แถวสุดท้าย ของชุดข้อมูล
- iCol = 4 -> ที่อยู่คอลัมน์ ที่ เก็บข้อความ ค่า
- เรียกใช้ สิ่งนี้ รหัสและสังเกตว่า หมายเลขแถว 7 ซึ่งประกอบด้วยค่าตัวเลข “ 87 ” ซ่อนอยู่
อ่านเพิ่มเติม: วิธีซ่อนแถวตามค่าเซลล์ใน Excel (5 วิธี)
สรุป
บทความนี้แสดงให้เห็น วิธี ซ่อนแถว ใน Excel ด้วย VBA ฉันหวังว่าบทความนี้มีประโยชน์มากสำหรับคุณ อย่าลังเลที่จะถามหากคุณมีคำถามเกี่ยวกับหัวข้อนี้
run.ที่นี่
- Worksheets(“Single”) = ตั้งค่า ชื่อเวิร์กชีท
- Range(“5:5”) = ผ่าน หมายเลขแถว 5 ภายใน Range เมธอด
- กด F5 บนแป้นพิมพ์หรือจากแถบเมนู เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm คุณยังสามารถคลิกที่ ไอคอนเล่นขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
ข้อสังเกตในภาพด้านล่าง , หมายเลขแถว 5 ถูกซ่อนหลังจากรันโค้ด VBA
อ่านเพิ่มเติม: สูตรซ่อนแถวใน Excel (7 วิธี)
2. แทรกแมโครเพื่อซ่อนแถวที่อยู่ติดกันใน Excel
คุณได้เรียนรู้วิธีซ่อนแถวเดียวด้วย VBA แต่สมมติว่าคุณต้องการ ซ่อนช่วงของแถว ที่ ติดกัน คุณสามารถทำได้ด้วย VBA ใน Excel เราจะ ซ่อน แถวหมายเลข 5 ถึง 7 จากชุดข้อมูลที่แสดงด้านบน
ขั้นตอน:
- เหมือนกัน เหมือนเดิม เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างรหัส
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
1692
โค้ดของคุณพร้อมเรียกใช้แล้ว
ที่นี่
- แผ่นงาน(“ต่อเนื่องกัน”) = ตั้งค่า ชื่อแผ่นงาน
- ช่วง(“5:7”) = ผ่าน แถวหมายเลข 5 ถึง 7 ภายใน ช่วง เมธอด
- เรียกใช้ รหัสนี้และดูในรูปภาพต่อไปนี้ที่ แถวที่ 5 ถึง 7 ถูกซ่อนไว้ในขณะนี้
อ่านเพิ่มเติม: วิธีการ ซ่อนและเลิกซ่อนแถวใน Excel (6 วิธีที่ง่ายที่สุด)
3. ฝังมาโครเพื่อแยกแถวที่ไม่ติดกัน
คราวนี้ คุณจะได้เรียนรู้วิธี ซ่อนแถว ใน Excel ที่ ไม่ติดกัน ด้วย VBA . ด้วยชุดข้อมูลของเรา โค้ดสำหรับ ซ่อน แถว 5, 6, 8 และ 9 มีดังต่อไปนี้
ขั้นตอน:
- ตามที่แสดงก่อนหน้านี้ เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างรหัส
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
4017
โค้ดของคุณพร้อมเรียกใช้แล้ว
ที่นี่
- แผ่นงาน(“ไม่ต่อเนื่องกัน”) = ตั้งค่า ชื่อแผ่นงาน
- ช่วง(“5: 6, 8:9”) = ส่ง แถวหมายเลข 5 ถึง 6 และ 8 ถึง 9 ภายใน ช่วง เมธอด
- เรียกใช้ โค้ดชิ้นนี้ และดูว่า แถวที่ 5 ถึง 6 และ 8 ถึง 9 คือ ซ่อนอยู่ในรูปภาพต่อไปนี้
อ่านเพิ่มเติม: วิธีซ่อนแถวใน Excel (6 วิธีที่มีประสิทธิภาพ)
4. มาโครเพื่อซ่อนแถวทั้งหมดที่มีข้อความใน Excel
ถ้าคุณต้องการ ซ่อนแถวทั้งหมดที่มีข้อความ ให้ทำตามขั้นตอนด้านล่าง
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
6140
โค้ดของคุณพร้อมทำงานแล้ว
ที่นี่
- IsNumeric(Range(“C” & i)) = ข้อมูลในชุดข้อมูลของเราเริ่มต้นจาก คอลัมน์ C, เราจึงผ่าน C ภายใน ช่วง เมธอด
- เรียกใช้ รหัสนี้ และคุณจะสังเกตเห็นว่า แถวทั้งหมด ที่ มีข้อความ ค่าถูกซ่อนไว้ในขณะนี้
อ่านเพิ่มเติม: วิธีเลิกซ่อนหลายแถวใน Excel (9 วิธี)
5. มาโครเพื่อปิดบังแถวทั้งหมดที่มีตัวเลขใน Excel
และถ้าคุณต้องการซ่อน แถวทั้งหมดที่มีค่าตัวเลข ด้วย รหัส VBA ให้ทำตามขั้นตอนด้านล่าง
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
3103
โค้ดของคุณพร้อมทำงานแล้ว
ที่นี่
- IsNumeric(Range(“C” & i)) = ข้อมูลในชุดข้อมูลของเราเริ่มจาก คอลัมน์ C, ดังนั้นเราจึงผ่าน C ภายใน ช่วง เมธอด
- เรียกใช้ รหัสนี้ และสังเกตว่า แถวทั้งหมด ที่เคย มีค่าตัวเลข ก่อนหน้านี้ ตอนนี้ ซ่อนไว้
อ่านเพิ่มเติม: ซ่อนแถวที่ซ้ำกันตามหนึ่งคอลัมน์ใน Excel(4 วิธี)
6. มาโครเพื่อซ่อนแถวที่มีศูนย์ (0) ใน Excel
สมมติว่าคุณต้องการซ่อนเฉพาะแถวจากคอลัมน์ใดคอลัมน์หนึ่งที่ ถือ 0 (ศูนย์) ดูชุดข้อมูลต่อไปนี้โดยที่ คอลัมน์ E เก็บ 0 ใน แถวที่ 7 และ 82 ในแถวที่ 10 เราจะเรียนรู้วิธีการ ซ่อนเฉพาะแถวที่ถือ 0 ( แถวที่ 7 ) ด้วย VBA ใน Excel
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้และวางโค้ด
3364
โค้ดของคุณพร้อมทำงานแล้ว
- เรียกใช้ รหัสนี้และสังเกตว่าแถว ( แถวที่ 7 ) ที่มี 0<ขณะนี้ 2> ใน คอลัมน์ E ถูกซ่อนไว้ ในขณะที่ แถว 10 ที่มี 82 ไม่ถูกซ่อน
อ่านเพิ่มเติม: วิธีซ่อนแถวว่างใน Excel VBA (4 วิธีที่มีประโยชน์)
7. ใช้มาโครเพื่อซ่อนแถวที่มีค่าลบใน Excel
เช่นเดียวกับที่คุณสามารถซ่อนแถวที่มีค่าศูนย์จากคอลัมน์เดียวกัน คุณสามารถ ซ่อนแถวที่มีค่าลบ ได้เช่นกัน ด้วยชุดข้อมูลที่แสดงด้านล่างโดยที่ คอลัมน์ E มีทั้งค่าลบและค่าบวก เราจะเห็นโค้ดที่ซ่อนเฉพาะค่าลบ
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
7873
ของคุณ โค้ดพร้อมที่จะรันแล้ว
- รัน โค้ดนี้และสังเกตว่า แถวที่ 7 ซึ่งมี ค่าลบ (-10) ใน คอลัมน์ E ขณะนี้ถูกซ่อนไว้ ในขณะที่ แถว 10 ที่มี 82 ไม่ถูกซ่อน
8. ฝัง VBA เพื่อปกปิดแถวที่มีค่าบวกใน Excel
คราวนี้ด้วยชุดข้อมูลที่ระบุด้านล่าง โดยที่ คอลัมน์ E มีทั้งค่าบวกเป็นศูนย์ เราจะเห็น VBA รหัสที่ ซ่อนเฉพาะค่าบวก .
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด คัดลอกโค้ดต่อไปนี้แล้ววาง
1760
โค้ดของคุณพร้อมที่จะเรียกใช้แล้ว
- เรียกใช้ รหัสนี้และสังเกตว่า แถวที่ 7 ซึ่งมี ค่าบวก (55) ใน คอลัมน์ E ถูกซ่อนไว้ในขณะที่ แถวที่ 10 ที่ถือ 0 ไม่ถูกซ่อน
อ่านเพิ่มเติม: VBA เพื่อซ่อนแถวตามเซลล์ ค่าใน Excel (14 ตัวอย่าง)
9. มาโครเพื่อซ่อนแถวที่มีเลขคี่ใน Excel
คุณสามารถ ซ่อนแถวที่มีเลขคี่ เป็นค่าได้ ในตัวอย่างที่เราแสดงให้เห็นในตอนต้นของบทความนี้ คอลัมน์ E มีเลขคี่และเลขคู่อยู่ใน แถวที่ 7 และ 10 เราจะเรียนรู้รหัส การซ่อนแถว ที่เก็บ เลขคี่ เท่านั้น
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในโค้ด หน้าต่าง คัดลอกรหัสต่อไปนี้และวาง
2892
รหัสของคุณพร้อมที่จะเรียกใช้แล้ว
- เรียกใช้ โค้ดชิ้นนี้และเห็นว่าเฉพาะ แถวที่ 7 ซึ่งมี เลขคี่ (55) ใน คอลัมน์ E ถูกซ่อนไว้ในขณะที่ แถว 10 ที่มี เลขคู่ (82) ไม่ถูกซ่อน
10. VBA เพื่อซ่อนแถวที่มีเลขคู่ใน Excel
ในทำนองเดียวกัน คุณสามารถ ซ่อนแถวที่มีเลขคู่ เป็นค่าได้ ในตัวอย่างที่เราแสดงให้เห็นในตอนต้นของบทความนี้ คอลัมน์ F มีเลขคี่และเลขคู่อยู่ใน แถวที่ 7 และ 10 เราจะเรียนรู้รหัส การซ่อนแถว ที่เก็บ เลขคู่ เท่านั้น
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในโค้ด หน้าต่าง คัดลอกโค้ดต่อไปนี้แล้ววาง
5187
โค้ดของคุณพร้อมที่จะเรียกใช้แล้ว
- เรียกใช้ รหัสนี้และเห็นว่ามีเพียง แถวที่ 7 ซึ่งมี เลขคู่ (100) ในขณะนี้ คอลัมน์ F ถูกซ่อนไว้ ส่วน แถว 10 ที่มี เลขคี่ (75) ไม่ถูกซ่อน
อ่านเพิ่มเติม: Excel VBA: เลิกซ่อนแถวทั้งหมดใน Excel (5 ตัวอย่างที่ใช้ได้จริง)
11. แทรกแมโครเพื่อซ่อนแถวที่มากกว่าเงื่อนไขที่ระบุ
คุณสามารถ ซ่อนแถวที่มากกว่า ค่าที่ระบุด้วย VBA Excel สมมติว่าคุณต้องการซ่อนแถวจาก คอลัมน์ E โดยที่ค่า มากกว่า 80 ต่อไปนี้คือวิธีการ:
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
6033
ของคุณ โค้ดพร้อมที่จะรันแล้ว
- รัน โค้ดนี้และดูว่ามีเพียง แถว 10 ซึ่งมี 82 (ซึ่งมากกว่า 80) ใน คอลัมน์ E ขณะนี้ถูกซ่อนไว้ ในขณะที่ แถว 7 ที่มี 55 ไม่ถูกซ่อน
อ่านเพิ่มเติม: ซ่อนแถวตามค่าเซลล์ด้วยการจัดรูปแบบตามเงื่อนไขใน Excel
12. ฝังแมโครเพื่อปิดแถวที่น้อยกว่าเงื่อนไขที่ระบุใน Excel
คุณยังสามารถ ซ่อนแถวที่น้อยกว่า ค่าที่ระบุได้ด้วย VBA Excel . สมมติว่าคุณต้องการซ่อนแถวจาก คอลัมน์ E โดยที่ค่า น้อยกว่า 80 นี่คือวิธีการทำที่:
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
1873
โค้ดของคุณพร้อมแล้ว เพื่อเรียกใช้
- เรียกใช้ รหัสนี้และเห็นว่ามีเพียง แถวที่ 7 ซึ่งมี 55 (ซึ่งน้อยกว่า 80) ใน คอลัมน์ E ถูกซ่อนไว้ ในขณะที่ แถว 10 ที่ มี 82 ไม่ถูกซ่อน
13. ซ่อนแถวตามค่าข้อความของเซลล์ด้วยมาโคร
สมมติว่าคุณต้องการ ซ่อนแถวที่เก็บค่าข้อความ ที่ระบุ ในกรณีของเรา เราจะยกตัวอย่างให้คุณเห็นแถวที่มีคำว่า “ เคมี ” แถวที่ 6 และให้รหัสวิธีการ ซ่อนแถวนั้น
ขั้นตอน:
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
9923
โค้ดของคุณคือ พร้อมทำงานแล้ว
ที่นี่
- StartRow = 4 -> แถวแรก ของ ชุดข้อมูล
- LastRow = 10 -> แถวสุดท้าย ของชุดข้อมูล
- iCol = 4 -> ที่อยู่คอลัมน์ ที่ เก็บข้อความ ค่า
- เรียกใช้ สิ่งนี้ ให้สังเกตที่ แถวหมายเลข 6 ซึ่งประกอบไปด้วยคำว่า