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ả?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 ạ
Vâng mình muốn lọc cột b với điều kiện cột a bỏ giá trị 0Có 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ả?
Vâng mình muốn lọc cột b với điều kiện cột a bỏ giá trị 0
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ơ ạ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ơ ạ
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ềuMã: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ảm ơn bạn nhiều ạ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
Thử với một trong hai cách khác.kết quả sau khi chạy phải thế này cơ ạ
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
Sub Filter_Hai()
With Sheet1.Range("A5")
.AutoFilter Field:=1, Criteria1:=Range("E2")
.AutoFilter Field:=2, Criteria1:=Range("F2")
End With
End Sub