Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

4 วิธี VBA ใช้ AutoFilter หลายเงื่อนไขในคอลัมน์เดียว Excel

คุณสมบัติ AutoFilter ของ Excel มีประสิทธิภาพในการดึงข้อมูลตามเงื่อนไข การใช้ VBA เป็นวิธีที่มีประสิทธิภาพ เร็ว และปลอดภัยที่สุด บทความนี้จะแสดง 4 วิธี AutoFilter กับหลายเงื่อนไขในฟิลด์เดียวกัน (คอลัมน์เดียว) ใน Excel ด้วย VBA macro

ดาวน์โหลดสมุดงานฝึกหัด

4 วิธี VBA สำหรับ AutoFilter หลายเงื่อนไขในคอลัมน์เดียว

1. ใช้ VBA AutoFilter หลายเงื่อนไขตัวเลขในคอลัมน์เดียว

ชุดข้อมูล: คอลัมน์ B มี Random Numbers, คอลัมน์ D มี Odd Numbers จะกรองคอลัมน์ B ตามค่าคี่ในคอลัมน์ D

  1. กด Alt + F11 เปิด Visual Basic Editor
  2. จากเมนูบาร์ Insert > Module
  3. วางโค้ดต่อไปนี้:
Sub AutoFilterWithMultipleCriteriaOnSameColumn()
    Dim iArray As Variant
    With ThisWorkbook.Worksheets("Column")
        iArray = Split(Join(Application.Transpose(.Range(.Cells(5, 4), .Cells(.Range("D:D").Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row, 4)).Value)))
        .Range("B4").AutoFilter Field:=1, Criteria1:=iArray, Operator:=xlFilterValues
    End With
End Sub
  1. กด F5 หรือ Run Sub/UserForm เพื่อรันแมโคร

ผลลัพธ์: คอลัมน์ B ถูกกรองเหลือเฉพาะเลขคี่เท่านั้น

อ่านเพิ่มเติม: Excel VBA ตรวจสอบว่า AutoFilter เปิดอยู่หรือไม่ (4 วิธี)

2. ใช้ VBA AutoFilter ด้วยตัวดำเนินการ AND ในคอลัมน์เดียว

xlAND คืนค่าที่ตรง ทั้งสองเงื่อนไข ตัวอย่าง: กรองคอลัมน์ B ค่าที่ >= 2 และ <= 9 (ค่าอยู่ใน E4, E5)

  1. เปิด VBE แทรก Module
  2. วางโค้ด:
Sub AutoFilterOnSameColumnWithAND()
    With ThisWorkbook.Worksheets("AND")
        .Range("B4").AutoFilter Field:=1, Criteria1:=">=" & .Range("E4").Value, Operator:=xlAnd, Criteria2:="<=" & .Range("E5").Value
    End With
End Sub
  1. รันแมโคร - ผลลัพธ์: คอลัมน์ B กรองค่า 2 ถึง 9

อ่านเพิ่มเติม: [แก้ไข]: AutoFilter Method of Range Class Failed (5 วิธีแก้)

3. ใช้แมโคร AutoFilter ด้วยตัวดำเนินการ OR ในคอลัมน์เดียว

xlOR คืนค่าที่ตรง เงื่อนไขใดเงื่อนไขหนึ่ง ตัวอย่าง: กรองคอลัมน์ B ค่าที่ >= 12 หรือ <= 7

  1. เปิด VBE แทรก Module
  2. วางโค้ด:
Sub AutoFilterOnSameColumnWithOR()
    With ThisWorkbook.Worksheets("OR")
        .Range("B4").AutoFilter Field:=1, Criteria1:="<" & .Range("E5").Value, Operator:=xlOr, Criteria2:=">" & .Range("E4").Value
    End With
End Sub
  1. รันแมโคร - ผลลัพธ์: คอลัมน์ B กรองค่า >=12 หรือ <=7

อ่านเพิ่มเติม: วิธี Autofilter และคัดลอกแถวที่มองเห็นได้ด้วย Excel VBA

4. ใช้ VBA AutoFilter ตามหลายค่าข้อความในฟิลด์เดียว

กรองคอลัมน์ B (ชื่อประเทศ) ตาม 2 ประเทศที่กำหนดในโค้ด: Australia และ England

  1. เปิด VBE แทรก Module
  2. วางโค้ด:
Sub AutoFilterOnSameColumnWithMultipleTexts()
    Dim iArray As Variant
    iArray = Array("Australia", "England")
    Range("B4", Range("B" & Rows.Count).End(xlUp)).AutoFilter 1, iArray, xlFilterValues, , 0
End Sub
  1. รันแมโคร - ผลลัพธ์: คอลัมน์ B กรองเหลือ Australia และ England เท่านั้น

อ่านเพิ่มเติม: วิธี Autofilter ค่าที่ไม่เท่ากับค่าที่กำหนดด้วย VBA ใน Excel

สรุป

บทความนี้แสดง 4 วิธี AutoFilter กับหลายเงื่อนไขในฟิลด์เดียวกัน (คอลัมน์เดียว) ใน Excel ด้วย VBA macro: กรองตัวเลขหลายค่า, ใช้ AND, ใช้ OR, และกรองข้อความหลายค่า หวังว่าจะเป็นประโยชน์ สามารถถามคำถามเพิ่มเติมได้

บทความที่เกี่ยวข้อง