สารบัญ
Excel เรียงลำดับ & คำสั่งตัวกรอง มีช่วงจำกัดในการ กรองข้อมูล แต่การใช้ VBA คุณสามารถ กรองข้อมูล ได้หลากหลายตามที่คุณต้องการ บทความนี้จะให้ตัวอย่างที่มีประโยชน์ 8 ตัวอย่างในการใช้โค้ด VBA เพื่อ กรองข้อมูล ใน excel โดยใช้โค้ด VBA พร้อมภาพประกอบที่สดใส
ดาวน์โหลดสมุดงานแบบฝึกหัด
คุณสามารถดาวน์โหลดเทมเพลต Excel ฟรีได้จากที่นี่ และฝึกฝนด้วยตัวเอง
รหัส VBA เพื่อกรองข้อมูล.xlsm
8 ตัวอย่างการใช้โค้ด VBA เพื่อกรองข้อมูลใน Excel
เรามาทำความรู้จักกับชุดข้อมูลของเรากันก่อน ซึ่งแสดงถึงเพศ สถานะ และ อายุ .
1. ใช้โค้ด VBA เพื่อกรองข้อมูลตามเกณฑ์ข้อความใน Excel
ในตัวอย่างแรก เราจะใช้ VBA กับ ตัวกรอง เท่านั้น ชาย นักเรียนจากคอลัมน์ เพศ ของชุดข้อมูล
ขั้นตอน:
- คลิกขวา บน ชื่อแผ่นงาน .
- จากนั้น เลือก View Code จาก เมนูบริบท .
เร็วๆ นี้ หลังจากนั้น หน้าต่าง VBA จะเปิดขึ้น
- พิมพ์ รหัส ต่อไปนี้ ใน it-
9943
- หลังจากนั้น ให้ย่อ VBA
การแบ่งโค้ด
- ที่นี่ ฉันได้สร้าง ย่อย ขั้นตอน Filter_Data_Text() .
- จากนั้นใช้ คุณสมบัติ ช่วง เพื่อประกาศ ชื่อแผ่นงาน และ ช่วง
- ถัดไป ฉันใช้ วิธีการกรองอัตโนมัติ เพื่อใช้ เกณฑ์ ที่ฉันเลือก โดยที่ ฟิลด์:=2 หมายถึง คอลัมน์ 2 และ เกณฑ์1:=”ชาย” ถึง กรอง ข้อมูลสำหรับ ชาย
- หลังจากนั้น ถึง เปิด กล่องโต้ตอบ แมโคร คลิก ดังนี้: นักพัฒนาซอฟต์แวร์ > มาโคร
- เลือก ชื่อ มาโคร ตามที่ระบุใน โค้ด .
- สุดท้าย เพียง กด Run .
ตอนนี้ ดูว่าเรามีเฉพาะ ข้อมูลของนักเรียนชาย หลังจาก การกรอง .
อ่านเพิ่มเติม: Excel กรองข้อมูลตาม มูลค่าเซลล์ (6 วิธีที่มีประสิทธิภาพ)
2. ใช้รหัส VBA เพื่อกรองข้อมูลที่มีหลายเกณฑ์ในหนึ่งคอลัมน์
ที่นี่ เราจะ กรอง สำหรับหลายเกณฑ์ในหนึ่งคอลัมน์ จากคอลัมน์หมายเลขสามของชุดข้อมูล เราจะ กรอง สำหรับ บัณฑิต และ บัณฑิต นักศึกษา
ขั้นตอน:
- ทำตามสองขั้นตอนแรก ของ ตัวอย่างแรก เพื่อเปิด หน้าต่าง VBA .
- ต่อมา พิมพ์ โค้ด ต่อไปนี้ ในนั้น-
3697
- จากนั้นย่อขนาด VBA
รายละเอียดโค้ด
- ที่นี่ ฉันได้สร้าง ขั้นตอนย่อย ขั้นตอน Filter_One_Column() .
- จากนั้นใช้คุณสมบัติ ช่วง เพื่อประกาศ ชื่อแผ่นงาน และ ช่วง
- ต่อไป ฉันใช้ theวิธีการกรองอัตโนมัติ เพื่อใช้ เกณฑ์ ที่ฉันเลือก โดยที่ ฟิลด์:=3 หมายถึง คอลัมน์ 3 ที่นี่ Criteria1:=”Graduate” และ Criteria2:=”Postgraduate” ถึง Filter Status ของนักเรียน
- สุดท้าย ฉันใช้ Operator:=xlOr เพื่อใช้ หรือ เงื่อนไข ตัวกรอง สำหรับหลายเกณฑ์
- ที่นี่ สักครู่ ทำตาม ขั้นตอนที่สาม จาก ตัวอย่างแรก เพื่อเปิดกล่องโต้ตอบ มาโคร กล่อง .
- ต่อมา เลือก ชื่อ มาโคร ที่ระบุ และ กด Run
หลังจากนั้นไม่นาน คุณจะได้รับแถวที่กรองตามเกณฑ์หลายเกณฑ์เช่นภาพด้านล่าง
อ่านเพิ่มเติม: กรองหลายเกณฑ์ใน Excel (4 วิธีที่เหมาะสม)
3. ใช้รหัส VBA เพื่อกรองข้อมูลที่มีหลายเกณฑ์ในคอลัมน์ต่างๆ ใน Excel
ตอนนี้เราจะ กรอง สำหรับหลายเกณฑ์- ชาย และ บัณฑิต นักเรียน
ขั้นตอน:
- ทำตามสองขั้นตอนแรก ของ ตัวอย่างแรก เพื่อ เปิด VBA
- ภายหลัง เขียน รหัส ต่อไปนี้ ในนั้น-
4647
- หลังจาก ที่ ย่อขนาดหน้าต่าง VBA .
การแบ่งโค้ด
- ที่นี่ ฉันได้สร้าง ย่อย โพรซีเดอร์ Filter_Different_Columns() .
- จากนั้น ฉันใช้คำสั่ง ด้วย เพื่อใช้ หลายคอลัมน์ .
- จากนั้นใช้ ช่วง คุณสมบัติเพื่อประกาศ ชื่อแผ่นงาน และ ช่วง
- ตามลำดับของเรา ถัดไป ฉันใช้ วิธีการกรองอัตโนมัติ เพื่อใช้ เกณฑ์ ของ ตัวเลือกของฉันโดยที่ Field:=2 หมายถึง คอลัมน์ 2 และ Field:=3 หมายถึง คอลัมน์ 3 .
- ที่นี่ เลือก Criteria1:=”Male” สำหรับคอลัมน์ Gender และ Criteria1:=”Graduate” สำหรับคอลัมน์ Status ไปยัง Filter ข้อมูลจาก คอลัมน์ต่างๆ .
- จากนั้น ทำตามขั้นตอนที่สาม จาก ตัวอย่างแรก เพื่อเปิด กล่องโต้ตอบมาโคร .
- หลังจากนั้น เลือก ชื่อ มาโครที่ระบุ และ กด Run . <14
- ทำตามสองขั้นตอนแรก ของ ตัวอย่างแรก เพื่อเปิดหน้าต่าง VBA .
- จากนั้น พิมพ์ รหัส ต่อไปนี้ ในนั้น-
นี่คือผลลัพธ์ของหลายเกณฑ์
อ่านเพิ่มเติม: Excel VBA เพื่อกรองในคอลัมน์เดียวกันตามหลายเกณฑ์ (6 ตัวอย่าง)
4. ใช้รหัส VBA เพื่อกรองรายการ 3 อันดับแรกใน Excel
ในตัวอย่างนี้ เราจะกรอง นักเรียนสามอันดับแรก ตาม อายุ <3
ขั้นตอน:
6036
- หลังจากนั้น ให้ย่อขนาด หน้าต่าง VBA .
การแบ่งโค้ด
- นี่ฉัน สร้างขั้นตอน ย่อย Filter_Top3_Items() .
- จากนั้นใช้ Operator:=xlTop10Items ถึง ตัวกรอง สำหรับ สามอันดับแรก ข้อมูล .
- ตอนนี้ ทำตามขั้นตอนที่สาม จาก ตัวอย่างแรก เพื่อเปิด กล่องโต้ตอบมาโคร กล่อง .
- จากนั้น เลือกชื่อมาโคร ตามที่ระบุในโค้ด และ กด Run . <14
- วิธีคัดลอกและวางเมื่อ ใช้ตัวกรองใน Excel
- วิธีกรองค่าที่ไม่ซ้ำใน Excel (8 วิธีง่ายๆ)
- กรองหลายเกณฑ์ใน Excel ด้วย VBA (ทั้งสองอย่าง ประเภท AND และ OR)
- วิธีใช้ตัวกรองข้อความใน Excel (5 ตัวอย่าง)
- วิธีกรองตามวันที่ใน Excel (4 แบบด่วน วิธีการ)
- ขั้นแรก ทำตามสองขั้นตอนแรก ของ ตัวอย่างแรก เพื่อเปิด หน้าต่าง VBA .
- หลังจากนั้น พิมพ์ รหัส ต่อไปนี้ ในนั้น-
จากนั้นคุณจะได้ผลลัพธ์ดังภาพด้านล่าง-
อ่านเพิ่มเติม: วิธีกรองตามค่าเซลล์โดยใช้ Excel VBA (4 วิธี)
การอ่านที่คล้ายกัน
5. ใช้รหัส VBA เพื่อกรอง 50 เปอร์เซ็นต์สูงสุดใน Excel
มาใช้รหัส VBA เพื่อกรอง ห้าสิบเปอร์เซ็นต์สูงสุด ของนักเรียน ตามอายุของพวกเขา .
ขั้นตอน:
4237
- ย่อขนาด หน้าต่าง VBA .
การแบ่งโค้ด
- ที่นี่ ฉันสร้างขั้นตอน ย่อย Filter_Top50_Percent() .
- ต่อมา ใช้ Operator:=xlTop10Percent ถึง กรอง ห้าสิบเปอร์เซ็นต์สูงสุดจาก คอลัมน์-4 .
- ในขณะนี้ ทำตามขั้นตอนที่สาม จาก ตัวอย่างแรก เพื่อเปิด กล่องโต้ตอบมาโคร
- จากนั้น เลือก ระบุ ชื่อมาโคร และ กด Run
มีนักเรียนทั้งหมด 7 คน ดังนั้นสำหรับ 50 เปอร์เซ็นต์ จึงแสดงนักเรียนประมาณ สามคน .
อ่านเพิ่มเติม: วิธีใช้สูตรเปอร์เซ็นต์กำไรใน Excel (3 ตัวอย่าง)
6 . ใช้รหัส VBA เพื่อกรองข้อมูลโดยใช้สัญลักษณ์แทน
เราสามารถใช้ อักขระตัวแทน-* (ดอกจัน) ใน รหัส VBA เพื่อกรองข้อมูลใน Excel จาก คอลัมน์สถานะ เราจะกรองเฉพาะ ค่าที่มี 'โพสต์' .
ขั้นตอน:
- ทำตามสองขั้นตอนแรก ของ ตัวอย่างแรก เพื่อเปิด หน้าต่าง VBA .
- จากนั้น เขียน รหัสต่อไปนี้ ในนั้น-
8085
- หลังจากนั้น ให้ย่อขนาด หน้าต่าง VBA .
รายละเอียดโค้ด
- ที่นี่ ฉันได้สร้าง ย่อย ขั้นตอน Filter_with_Wildcard() .
- จากนั้นใช้ ช่วง ("B4") เพื่อตั้งค่าช่วง
- ถัดไป , ใช้ กรองอัตโนมัติ ถึง กรอง ใน ฟิลด์:=3 หมายถึง คอลัมน์ 3
- เกณฑ์1:=”*โพสต์ *” เพื่อ กรอง ค่าที่มี 'โพสต์'
- ตอนนี้ ทำตามขั้นตอนที่สาม จาก ขั้นแรก ตัวอย่าง เพื่อเปิดกล่องโต้ตอบ มาโครกล่อง
- เลือก ชื่อ มาโคร ที่ระบุ และ กด Run .
จากนั้นคุณจะได้ผลลัพธ์ที่ต้องการ
อ่านเพิ่มเติม: วิธีเพิ่มตัวกรองใน Excel (4 วิธี )
7. ฝัง Excel VBA เพื่อคัดลอกข้อมูลที่กรองแล้วในชีตใหม่ใน Excel
ดูว่ามีข้อมูลกรองในชุดข้อมูลของฉัน ตอนนี้ฉันจะคัดลอกลงในแผ่นงานใหม่โดยใช้ VBA โค้ดเหล่านี้จะทำงานไม่ถูกต้องในแผ่นงาน คุณจะต้องนำไปใช้ในโมดูล
ขั้นตอน:
- กด Alt+F11 เพื่อเปิด VBA
- จากนั้นคลิก แทรก > โมดูล ถึง เปิดโมดูล .
- ตอนนี้ เขียน รหัส ต่อไปนี้ –
6881
- จากนั้นย่อ VBA
รายละเอียดโค้ด
- ที่นี่ ฉันได้สร้าง ย่อย ขั้นตอน Copy_Filtered_Data_NewSheet()
- หลังจากนั้น ประกาศสองตัวแปร- x Rng As Range และ xWS As Worksheet
- จากนั้นใช้ an คำสั่ง IF เพื่อ กาเครื่องหมาย กรองแล้ว
- ต่อมา ใช้ MsgBox เพื่อแสดงผลลัพธ์
- จากนั้นใช้ เวิร์กชีต("คัดลอกข้อมูลที่กรองแล้ว")ตัวกรองอัตโนมัติ .Range เพื่อเลือกช่วง กรองแล้ว และใช้ เพิ่ม เพื่อเพิ่มแผ่นงานใหม่
- สุดท้าย Copy Range("G4") จะคัดลอกข้อมูล กรองแล้ว ไปยัง แผ่นงานใหม่
- หลังจากนั้น ทำตามขั้นตอนที่สาม จาก ตัวอย่างแรก เพื่อเปิดกล่องโต้ตอบ มาโคร
- จากนั้น เลือก ชื่อ มาโคร ที่ระบุ 2> และ กด Run .
ตอนนี้จะเห็นว่า Excel ได้เปิดแผ่นงานใหม่และคัดลอกแถวที่กรองแล้ว
อ่านเพิ่มเติม: ทางลัดสำหรับตัวกรอง Excel (3 การใช้งานด่วนพร้อมตัวอย่าง)
8. ใช้โค้ด VBA เพื่อกรองข้อมูลโดยใช้รายการแบบเลื่อนลง
ในตัวอย่างสุดท้าย เราจะสร้างรายการแบบเลื่อนลงสำหรับเพศก่อน จากนั้นเราจะใช้รายการนั้นเพื่อกรองข้อมูล สำหรับสิ่งนั้น ฉันได้วางเกณฑ์เพศในตำแหน่งอื่น และเราจะสร้างรายการแบบเลื่อนลงใน เซลล์ D14
ขั้นตอน:
- เลือก เซลล์ D14 .
- จากนั้น คลิก ดังนี้: ข้อมูล > เครื่องมือข้อมูล > การตรวจสอบข้อมูล > การตรวจสอบความถูกต้องของข้อมูล
หลังจากนั้นไม่นาน กล่องโต้ตอบ จะเปิดขึ้น
เลือก รายการ จากเมนูแบบเลื่อนลง อนุญาต .
จากนั้น คลิกที่ไอคอนเปิด จากช่อง แหล่งที่มา .
ตอนนี้ เลือกช่วงเกณฑ์ และ กดปุ่ม Enter .
- ในขณะนี้ เพียง กด ตกลง .
ตอนนี้รายการ แบบเลื่อนลง ของเราพร้อมแล้ว
- ตอนนี้ ทำตามสองขั้นตอนแรก ของ ตัวอย่างแรก เพื่อเปิด หน้าต่าง VBA .
- จากนั้น เขียน โค้ด ต่อไปนี้ ในนั้น-
6201
- จากนั้น ย่อขนาด VBAหน้าต่าง .
การแบ่งโค้ด
- ที่นี่ ฉันสร้าง ขั้นตอน ส่วนย่อยส่วนตัว , แผ่นงาน_การเปลี่ยนแปลง (ByVal Target As Range)
- จากนั้น ฉันเลือก แผ่นงาน จาก ทั่วไป และ เปลี่ยน จาก ประกาศ
- จากนั้นตั้งค่า ที่อยู่ เพื่อให้ทราบตำแหน่ง
- สุดท้ายภายในคำสั่ง IF ใช้วิธี ตัวกรองอัตโนมัติ กับ ฟิลด์ และ เกณฑ์
- ตอนนี้ เพียง เลือกเกณฑ์จากรายการแบบเลื่อนลง และ ตัวกรองจะเปิดใช้งาน
นี่คือผลลัพธ์ กรองแล้ว หลังจากเลือก ชาย จาก แบบเลื่อนลง .
อ่านเพิ่มเติม: วิธีกรองตามรายการในชีตอื่นใน Excel (2 วิธี)
ส่วนการปฏิบัติ
คุณจะได้รับแบบฝึกหัดในไฟล์ Excel ที่ให้ไว้ด้านบนเพื่อฝึกฝนวิธีที่อธิบายไว้
บทสรุป
ฉันหวังว่าขั้นตอนที่อธิบายข้างต้นจะดีพอที่จะใช้โค้ด VBA เพื่อ กรอง ข้อมูลใน excel อย่าลังเลที่จะถามคำถามใด ๆ ในส่วนความคิดเห็นและโปรดให้ข้อเสนอแนะ