Thử dùng code này.Em chào anh,chị.
Em muốn khi nhập dữ liệu vào ô G2, H2. Bảng 1 sẽ hiển thị kết quả lọc được theo dữ liệu đó.
View attachment 259026
Em cảm ơn!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sCell As Range
For Each sCell In Target
If (sCell.Address = "$G$2") Or (sCell.Address = "$H$2") Then
If Range("G2") <> Empty Then Range("$A$3:$D$3").AutoFilter Field:=1, Criteria1:=Range("G2").Value
If Range("H2") <> Empty Then Range("$A$3:$D$3").AutoFilter Field:=2, Criteria1:=Range("H2").Value
If (Range("G2") = Empty) And (Range("H2") = Empty) Then ActiveSheet.AutoFilterMode = False
End If
Next sCell
End Sub
Em cảm ơn! Nhưng dữ liệu em muốn lọc cần có tất cả những dòng chứa a1 ạ, em chạy code trên thì thiếu a1 khi a1 nằm ở cột B ạThử dùng code này.
Mã:Private Sub Worksheet_Change(ByVal Target As Range) Dim sCell As Range For Each sCell In Target If (sCell.Address = "$G$2") Or (sCell.Address = "$H$2") Then If Range("G2") <> Empty Then Range("$A$3:$D$3").AutoFilter Field:=1, Criteria1:=Range("G2").Value If Range("H2") <> Empty Then Range("$A$3:$D$3").AutoFilter Field:=2, Criteria1:=Range("H2").Value If (Range("G2") = Empty) And (Range("H2") = Empty) Then ActiveSheet.AutoFilterMode = False End If Next sCell End Sub
Thử dùng code này.
Mã:Private Sub Worksheet_Change(ByVal Target As Range) Dim sCell As Range For Each sCell In Target If (sCell.Address = "$G$2") Or (sCell.Address = "$H$2") Then If Range("G2") <> Empty Then Range("$A$3:$D$3").AutoFilter Field:=1, Criteria1:=Range("G2").Value If Range("H2") <> Empty Then Range("$A$3:$D$3").AutoFilter Field:=2, Criteria1:=Range("H2").Value If (Range("G2") = Empty) And (Range("H2") = Empty) Then ActiveSheet.AutoFilterMode = False End If Next sCell End Sub
A check giúp e ạEm cảm ơn! Nhưng dữ liệu em muốn lọc cần có tất cả những dòng chứa a1 ạ, em chạy code trên thì thiếu a1 khi a1 nằm ở cột B ạ
Anh giúp em với, em mù mờ mấy cái này lắm ạDùng cột phụ với hàm Countif rồi lọc theo cột phụ là được.
em cảm ơn, em ứng dụng vào được r ạ!Xem file nha bạn
Anh cho em hỏi, khi em thêm 1 text box để lọc kết hợp, thì lại bị hiện lỗi ở dòng code: Me.AutoFilter.ApplyFilter ạ?Xem file nha bạn
Theo em hiểu thì phải có filter ở dòng header của bảng. Em kết hợp cách của anh với của anh "giaiphap" thì đến bước nhập 1 vào ô Input2 thì kết quả ra đúng ý muốn của em rồi, nhưng khi xóa "1" ở input2 thì bảng biểu sẽ trở về ban đầu. không còn filter ở header nữa. Do đó, khi lọc dữ liệu tiếp theo, phần code của a bị Runtime error "91". Mong anh sửa giúp em được không ạ?Do table chứ không phải do textbox.
ui, em bị ngáo ngơ thật, em hiểu vấn đề r ạ, làm phiền a quá!Yêu cầu của bạn đã được giải quyết rồi, sao phải kết hợp vậy bạn?