Xin giúp đỡ về filter

Liên hệ QC

Khuongctm

Thành viên mới
Tham gia
20/1/20
Bài viết
4
Được thích
0
Chào mọi người ạ, mình muốn xin mã code vba với điều kiện là cột a filter bỏ 0, cột b filter theo ô c1 ạ
 

File đính kèm

Chào mọi người ạ, mình muốn xin mã code vba với điều kiện là cột a filter bỏ 0, cột b filter theo ô c1 ạ
Có phải bạn muốn lọc theo cột B nhưng cột A loại bỏ giá trị 0? Và nếu cột B giá trị nào cũng theo điều kiện của C1, nhưng cột A đều là 0 thì không có kết quả nào cả?
 
Upvote 0
Vâng mình muốn lọc cột b với điều kiện cột a bỏ giá trị 0
Mã:
Sub CriteriaFilter()
    Dim r As Long
    Dim shtFilter As Worksheet
    Set shtFilter = Sheets("Sheet1")
    With shtFilter
        .AutoFilterMode = False
        r = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("E5:F" & Rows.Count).Clear
        .Range("A5:B" & r).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            .Range("E1:F2"), CopyToRange:=.Range("E5"), Unique:=False
    End With
End Sub
 

File đính kèm

Upvote 0
Mã:
Sub CriteriaFilter()
    Dim r As Long
    Dim shtFilter As Worksheet
    Set shtFilter = Sheets("Sheet1")
    With shtFilter
        .AutoFilterMode = False
        r = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("E5:F" & Rows.Count).Clear
        .Range("A5:B" & r).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            .Range("E1:F2"), CopyToRange:=.Range("E5"), Unique:=False
    End With
End Sub
kết quả sau khi chạy phải thế này cơ ạ
 

File đính kèm

Upvote 0
kết quả sau khi chạy phải thế này cơ ạ
Mã:
Sub DoAutoFilter()
Dim lastRow As Long
    With ThisWorkbook.Worksheets("Sheet1")
        .AutoFilterMode = False
        lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
        .Range("A5:B" & lastRow).AutoFilter Field:=1, Criteria1:=.Range("E2").Value, Operator:=xlAnd
        .Range("A5:B" & lastRow).AutoFilter Field:=2, Criteria1:=.Range("F2").Value, Operator:=xlAnd
    End With
End Sub
 
Upvote 0
Mã:
Sub DoAutoFilter()
Dim lastRow As Long
    With ThisWorkbook.Worksheets("Sheet1")
        .AutoFilterMode = False
        lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
        .Range("A5:B" & lastRow).AutoFilter Field:=1, Criteria1:=.Range("E2").Value, Operator:=xlAnd
        .Range("A5:B" & lastRow).AutoFilter Field:=2, Criteria1:=.Range("F2").Value, Operator:=xlAnd
    End With
End Sub
Được rồi ạ. cảm ơn Batman rất nhiều
Bài đã được tự động gộp:

Mã:
Sub CriteriaFilter()
    Dim r As Long
    Dim shtFilter As Worksheet
    Set shtFilter = Sheets("Sheet1")
    With shtFilter
        .AutoFilterMode = False
        r = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("E5:F" & Rows.Count).Clear
        .Range("A5:B" & r).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            .Range("E1:F2"), CopyToRange:=.Range("E5"), Unique:=False
    End With
End Sub
Cảm ơn bạn nhiều ạ
 
Upvote 0
kết quả sau khi chạy phải thế này cơ ạ
Thử với một trong hai cách khác.
Mã:
Sub Filter_Mot()
    Sheet1.Range("A5").CurrentRegion.AdvancedFilter _
    Action:=xlFilterInPlace, CriteriaRange:=Range("E1:F2")
End Sub

Sub Filter_Hai()
    Sheet1.Range("A5").AutoFilter Field:=1, Criteria1:=Range("E2")
    Sheet1.Range("A5").AutoFilter Field:=2, Criteria1:=Range("F2")
End Sub

Có thể sửa code Filter_Hai lại thế này:
Mã:
Sub Filter_Hai()
    With Sheet1.Range("A5")
        .AutoFilter Field:=1, Criteria1:=Range("E2")
        .AutoFilter Field:=2, Criteria1:=Range("F2")
    End With
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom