เรามักจะใช้ ตัวกรอง ใน Microsoft Excel เมื่อเราต้องการแยกข้อมูลเฉพาะออกจากข้อมูลจำนวนมาก ตัวกรองขั้นสูงเพิ่มสิ่งอำนวยความสะดวกพิเศษบางอย่าง Excel VBA มีตัวเลือกตัวกรองขั้นสูงนี้ด้วย เราจะแสดงตัวอย่างของ Excel VBA พร้อมเกณฑ์การกรองขั้นสูงที่นี่
6 ตัวอย่างตัวกรองขั้นสูงของ Excel VBA พร้อมเกณฑ์
6 ตัวอย่างของ Excel VBA เกณฑ์การกรองขั้นสูงจะแสดงในส่วนนี้
เราจะใช้ชุดข้อมูลต่อไปนี้เพื่อการนี้
ตัวอย่างที่ 1:Excel VBA เพื่อกรองข้อมูลในตำแหน่งปัจจุบัน
เราจะใช้ มาโคร VBA เพื่อกรองข้อมูลตามเกณฑ์และวางข้อมูลที่กรองไว้ที่ตำแหน่งปัจจุบัน
อยู่ในช่วง B16:E17 เรากำหนดหลักเกณฑ์
ขั้นตอนที่ 1:
- ขั้นแรก ไปที่ ผู้พัฒนา แท็บ
- คลิกที่ บันทึกมาโคร จากริบบิ้น
- กล่องโต้ตอบใหม่จะปรากฏขึ้น ตั้งชื่อมาโครที่นั่นแล้วกด ตกลง .
ขั้นตอนที่ 2:
- ตอนนี้ คลิกที่ มาโคร บนริบบิ้น
- เลือก มาโคร และ ก้าวเข้าสู่ มัน.
ขั้นตอนที่ 3:
- ตอนนี้ คัดลอก VBA . ต่อไปนี้ โค้ดและวางไว้บนโมดูลคำสั่ง
Sub Filter_Criteria()
Dim data As Range
Dim criteria As Range
Set data = Range("B4:E14")
Set criteria = Range("B16:E17")
data.AdvancedFilter xlFilterInPlace, criteria
End Sub
ขั้นตอนที่ 4:
- ตอนนี้ ให้กด F5 เพื่อเรียกใช้โค้ด
เรากำหนดเกณฑ์เพื่อแสดงยอดขายของ ชิคาโก เก็บเท่านั้นและนี่คือผลลัพธ์
นี่คือข้อมูลและเกณฑ์ของเราในชีตเดียวกัน
อ่านเพิ่มเติม: วิธีการใช้ตัวกรองขั้นสูงเพื่อคัดลอกไปยังตำแหน่งอื่นใน Excel
ตัวอย่างที่ 2:Excel VBA สำหรับตัวกรองขั้นสูงเมื่อระบุข้อมูลและเกณฑ์ในชีตต่างๆ
ในตัวอย่างนี้ เราจะแสดงวิธีเผชิญสถานการณ์เมื่อมีเกณฑ์และข้อมูลของเราอยู่ในชีตต่างๆ
ข้อมูลของเราอยู่ในชีตชื่อ Criteria_Different_Sheet และเกณฑ์กำหนดไว้ในแผ่น เกณฑ์ .
ขั้นตอนที่ 1:
- กด Alt+F11 เพื่อเข้าสู่โมดูลคำสั่ง
- ใส่รหัสด้านล่างในโมดูลคำสั่ง
Sub Filter_Criteria_2()
Dim data As Range
Dim criteria As Range
Set data = Sheets("Criteria_Different_Sheet").Range("B4:E14")
Set criteria = Sheets("Criteria").Range("B4:E5")
data.AdvancedFilter xlFilterInPlace, criteria
End Sub
ขั้นตอนที่ 2:
- กด F5 เพื่อรันโค้ด
เราสามารถกรองข้อมูลได้เมื่อมีการกำหนดเกณฑ์ในชีตอื่นด้วยวิธีนี้
อ่านเพิ่มเติม: ใช้ตัวกรองขั้นสูงตามเกณฑ์หลายเกณฑ์ในคอลัมน์เดียวใน Excel
ตัวอย่างที่ 3:Excel VBA เพื่อกรองข้อมูลและวางในตำแหน่งอื่นของแผ่นงานเดียวกัน
หากคุณต้องการวางข้อมูลที่กรองแล้วของเราในตำแหน่งอื่น ให้ทำตามขั้นตอนด้านล่าง
ขั้นตอนที่ 1:
- กด Alt+F11 เพื่อเข้าสู่โมดูลคำสั่ง
- เขียนโค้ดต่อไปนี้ในโมดูลคำสั่ง
Sub Filter_Criteria_3()
Dim data As Range
Dim criteria As Range
Set data = Range("B4:E14")
Set criteria = Range("B16:E17")
data.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=criteria, CopyToRange:=Range("G4:J14")
End Sub
ขั้นตอนที่ 2:
- ตี F5 ปุ่มและรหัสจะทำงาน
ดูข้อมูลที่กรองถูกวางในตำแหน่งอื่น CopyToRange คำสั่งระบุตำแหน่งอื่นเพื่อวางข้อมูล
เนื้อหาที่เกี่ยวข้อง: วิธีใช้ตัวกรองขั้นสูงเพื่อคัดลอกข้อมูลไปยังชีตอื่นใน Excel
การอ่านที่คล้ายกัน:
- Excel VBA:ตัวกรองขั้นสูงที่มีหลายเกณฑ์ในช่วง (5 วิธี)
- วิธีใช้ตัวกรองขั้นสูงเพื่อยกเว้นเซลล์ว่างใน Excel (3 เคล็ดลับง่ายๆ)
- ตัวกรองขั้นสูงของ Excel [หลายคอลัมน์และเกณฑ์ โดยใช้สูตรและสัญลักษณ์แทน]
ตัวอย่างที่ 4:กรองข้อมูลที่ไม่ซ้ำโดยใช้ Excel VBA เท่านั้น
เราสามารถรับข้อมูลที่ไม่ซ้ำจาก Excel VBA . นี้ ตัวกรองล่วงหน้า ในขั้นตอนนี้ เฉพาะ ที่ 1 เหตุการณ์จะปรากฏในชุดข้อมูลและการเกิดขึ้นที่ 2 หรือต่อไปจะถูกลบออก
ขั้นตอนที่ 1:
- เข้าสู่โมดูลคำสั่งโดยกด Alt+F11 .
- ใส่รหัสต่อไปนี้บนโมดูลคำสั่ง
Sub Filter_Criteria_4()
Dim data As Range
Dim criteria As Range
Set data = Range("B4:E14")
Set criteria = Range("B16:E17")
data.AdvancedFilter xlFilterInPlace, criteria, , True
End Sub
ขั้นตอนที่ 2:
- ตอนนี้ เรียกใช้รหัสโดยกด F5 .
เราทำเครื่องหมาย ที่ 1 เกิดขึ้นโดยสีเขียวและ 2 เกิดขึ้นจากสีเหลือง หลังจากรันโค้ดแล้ว เซลล์สีเหลืองจะถูกลบออก
อ่านเพิ่มเติม: วิธีใช้ตัวกรองขั้นสูงสำหรับระเบียนที่ไม่ซ้ำเฉพาะใน Excel
ตัวอย่างที่ 5:กรองและลบรายการที่ซ้ำกันโดยไม่มีเกณฑ์ใน Excel VBA
เราสามารถลบรายการที่ซ้ำกันโดยไม่ต้องตั้งค่าเกณฑ์ใดๆ ดูขั้นตอนด้านล่าง
ขั้นตอนที่ 1:
- ไปที่ VBA โมดูลคำสั่งกด Alt+F11
- คัดลอกและวางโค้ดต่อไปนี้ในโมดูลคำสั่ง
Sub Filter_Criteria_5()
Dim data As Range
Dim criteria As Range
Set data = Range("B4:E14")
data.AdvancedFilter xlFilterInPlace, , , True
End Sub
ขั้นตอนที่ 2:
- กดปุ่ม F5 คีย์และรหัสจะทำงาน
ดูชุดข้อมูล เราทำเครื่องหมายว่าซ้ำกันที่นี่ หลังจากใช้รหัส ที่ 1 เหตุการณ์ยังคงอยู่ในชุดข้อมูลและส่วนที่เหลือจะถูกลบออก
อ่านเพิ่มเติม: ตัวกรองขั้นสูงของ Excel ไม่ทำงาน (2 เหตุผลและวิธีแก้ไข)
ตัวอย่างที่ 6:แทรกเกณฑ์การลงชื่อเข้าใช้ของผู้ปฏิบัติงานเพื่อกรองข้อมูล
เราสามารถใช้ตัวดำเนินการในเกณฑ์เพื่อกรองข้อมูลของเรา ดูขั้นตอนต่อไปนี้สำหรับสิ่งนั้น
ขั้นตอนที่ 1:
- กด Alt+F11 และเข้าสู่โมดูลคำสั่ง
- ใส่โค้ดด้านล่างบนโมดูล
Sub Filter_Criteria_7()
Dim data As Range
Dim criteria As Range
Set data = Range("B4:E14")
Set criteria = Range("B16:E17")
data.AdvancedFilter xlFilterCopy, criteria, Range("G4:J14")
End Sub
ขั้นตอนที่ 2:
- กด F5 เพื่อรันโค้ด
ในผลลัพธ์ เราได้รับค่าที่มากกว่า $1.00 .
อ่านเพิ่มเติม: วิธีใช้ตัวกรองขั้นสูงใน VBA (หลักเกณฑ์ทีละขั้นตอน)
สิ่งที่ควรจำ
- คอลัมน์ข้อมูลแต่ละคอลัมน์ต้องมีส่วนหัวที่ไม่ซ้ำ
- ไม่อนุญาตให้มีแถวว่างในชุดข้อมูล
บทสรุป
ในบทความนี้ เราได้แสดง 6 ตัวอย่างของเกณฑ์การกรองขั้นสูงของ Excel VBA ฉันหวังว่านี่จะตอบสนองความต้องการของคุณ โปรดดูที่เว็บไซต์ของเรา Exceldemy.com และให้คำแนะนำในช่องแสดงความคิดเห็น
บทความที่เกี่ยวข้อง
- ตัวกรองขั้นสูงพร้อมหลายเกณฑ์ใน Excel (ตัวอย่างที่เหมาะสม 15 ตัวอย่าง)
- Dynamic Advanced Filter Excel (VBA &Macro)
- ตัวกรองขั้นสูงที่มีช่วงเกณฑ์ใน Excel (18 แอปพลิเคชัน)
- วิธีใช้ตัวกรองขั้นสูงหากช่วงเกณฑ์มีข้อความใน Excel
- ตัวกรองขั้นสูงของ Excel:ใช้ “ไม่มี” (2 วิธี)