Vba: วิธีใช้ตัวกรองอัตโนมัติที่มีหลายเกณฑ์
คุณสามารถใช้วิธีต่อไปนี้เพื่อใช้ ตัวกรองอัตโนมัติ ใน VBA ที่มีหลายเกณฑ์:
วิธีที่ 1: ใช้ตัวกรองอัตโนมัติที่มีหลายเกณฑ์ในคอลัมน์เดียว
Sub FilterMultipleCriteria()
With Range(" A1:C11 ")
.AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With
End Sub
มาโครนี้จะกรองแถวทั้งหมดในช่วง A1:C11 โดยที่ค่าของคอลัมน์แรกเท่ากับ “A” หรือ “C”
วิธีที่ 2: ใช้ตัวกรองอัตโนมัติที่มีหลายเกณฑ์ในหลายคอลัมน์
Sub FilterMultipleCriteria()
With Range(" A1:C11 ")
.AutoFilter Field:=1, Criteria1:=" A "
.AutoFilter Field:=2, Criteria1:=" Guard "
End With
End Sub
มาโครนี้จะกรองช่วง A1:C11 เพื่อแสดงเฉพาะแถวที่คอลัมน์แรกเท่ากับ “A” และคอลัมน์ที่สองเท่ากับ “Guard”
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับชุดข้อมูลต่อไปนี้ใน Excel:

ตัวอย่างที่ 1: ใช้ตัวกรองอัตโนมัติที่มีหลายเกณฑ์ในคอลัมน์
สมมติว่าเราต้องการกรองชุดข้อมูลให้แสดงเฉพาะแถวที่มีคอลัมน์แรกเท่ากับ “A” หรือ “C”
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub FilterMultipleCriteria()
With Range(" A1:C11 ")
.AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าชุดข้อมูลได้รับการกรองเพื่อแสดงเฉพาะแถวที่มีคอลัมน์แรกเท่ากับ “A” หรือ “C”
หมายเหตุ : เราได้รวมค่าที่เป็นไปได้เพียงสองค่าไว้ในฟังก์ชัน Array() แต่คุณสามารถรวมค่าได้มากเท่าที่คุณต้องการ
ตัวอย่างที่ 2: ใช้ตัวกรองอัตโนมัติที่มีหลายเกณฑ์ในหลายคอลัมน์
สมมติว่าเราต้องการกรองชุดข้อมูลเพื่อแสดงเฉพาะแถวโดยที่ค่าคอลัมน์ทีมเท่ากับ A และ ค่าคอลัมน์ตำแหน่งเท่ากับ Guard
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub FilterMultipleCriteria()
With Range(" A1:C11 ")
.AutoFilter Field:=1, Criteria1:=" A "
.AutoFilter Field:=2, Criteria1:=" Guard "
End With
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

ฉันสังเกตเห็นว่าชุดข้อมูลถูกกรองเพื่อแสดงเฉพาะแถวโดยที่ค่าในคอลัมน์ทีมเท่ากับ A และ ค่าในคอลัมน์ตำแหน่งเท่ากับ Guard
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA AutoFilter ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีกรองตารางเดือย
VBA: วิธีล้างตัวกรอง
VBA: วิธีลบค่าที่ซ้ำกัน