AutoFilter theo ký tự trong 1 cell (1 người xem)

  • Thread starter Thread starter trchau
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

trchau

Thành viên mới
Tham gia
4/9/11
Bài viết
44
Được thích
29
Nhờ các bạn giúp đỡ đoạn code VBA để thực hiện lọc dữ liệu:
Lọc theo kiểu AutoFilter trong cột B, theo ký tự trong ô D1 (không phải lọc duy nhất), ví dụ gõ chữ a vào ô D1, kích nút Lọc sẽ hiển thị các ô miễn nội dung có chứa chữ a (các ô màu tím)
Nếu gõ cc sẽ hiển thị các ô có chứa "cc" (màu đỏ) v.v.
Tôi đã record macro thì được:
PHP:
    Range("B2:B20").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="=*a*", Operator:=xlAnd
Nhưng chưa biết tùy biến điều kiện lọc theo giá trị trong 1 cell.
File đính kèm.
Cảm ơn.
 

File đính kèm

Thay
Criteria1:="=*a*"

bằng
Criteria1:="*" & [d1] & "*"

(công thức sau Criteria1 tùy giá trị của ô D1
 
Upvote 0
Bạn dùng code này cho Sheet1 (coppy code vào vùng code của sheet1)
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [d1]) Is Nothing Then
    [b2:b20].AutoFilter Field:=1, Criteria1:="=*" & Target & "*"
End If
End Sub
 
Upvote 0
Trước mắt như vậy là ổn rồi (sẽ nhờ các bạn nếu có gì vướng mắc tiếp theo).
Cảm ơn rất nhiều.
 
Upvote 0
Bạn dùng code này cho Sheet1 (coppy code vào vùng code của sheet1)
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [d1]) Is Nothing Then
    [b2:b20].AutoFilter Field:=1, Criteria1:="=*" & Target & "*"
End If
End Sub
Đoạn code này có cách nào sau khi chạy xong thì nó xóa cái nút chọn Filter không? Vì khi mình áp dụng code cho nhiều ô để tìm kiếm thì phải xóa tay nên khá bất tiện.
Nhờ các anh chị hướng dẫn giúp. Cảm ơn.
 
Upvote 0
Web KT

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

Back
Top Bottom