Hỏi cách lọc dữ liệu với điều kiện ở 1 ô cô định (3 người xem)

Liên hệ QC

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

iamcuong

Cám ơn GPE
Tham gia
17/7/10
Bài viết
155
Được thích
27
Thân gửi các Thầy, anh chị em trong diễn đàn.
Hiện em đang có thắc mắc sau, mong mọi người giải đáp ạ.

1. Hiện trạng
- Em đang có 1 vùng dữ liệu, đây là các lần Nhập/xuất của 1 loại NVL (A3:M500)
- 1 loại NVL có thể có nhiều lần nhập/xuất (mỗi lần Nhập/xuất ghi 1 dòng)
- Mỗi lần muốn filter 1 mã hàng nào, thì em lại phải filter cột E (Mã hàng), rồi lại phải chọn mã, rất mất thời gian

2. Nhu cầu
- Chỉ cần gõ mã hàng vào ô M1, Enter, thì phần dữ liệu bên dưới chỉ lọc những dòng có mã đó.
- Điền chữ "ALL" vào ô M1 thì ra tất cả bảng dữ liệu
1.jpg

Em gửi file đính kèm ạ.
Rất mong mọi người giúp em phương án ạ.
Em xin cám ơn.
 

File đính kèm

tạo cột Lọc và lọc theo số 1
 

File đính kèm

Thân gửi các Thầy, anh chị em trong diễn đàn.
Hiện em đang có thắc mắc sau, mong mọi người giải đáp ạ.

1. Hiện trạng
- Em đang có 1 vùng dữ liệu, đây là các lần Nhập/xuất của 1 loại NVL (A3:M500)
- 1 loại NVL có thể có nhiều lần nhập/xuất (mỗi lần Nhập/xuất ghi 1 dòng)
- Mỗi lần muốn filter 1 mã hàng nào, thì em lại phải filter cột E (Mã hàng), rồi lại phải chọn mã, rất mất thời gian

2. Nhu cầu
- Chỉ cần gõ mã hàng vào ô M1, Enter, thì phần dữ liệu bên dưới chỉ lọc những dòng có mã đó.
- Điền chữ "ALL" vào ô M1 thì ra tất cả bảng dữ liệu
View attachment 162038

Em gửi file đính kèm ạ.
Rất mong mọi người giúp em phương án ạ.
Em xin cám ơn.
Bạn sử dụng thử code này xem sao:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$1" Then
    If UCase(Target.Value) = "ALL" Then
        ActiveSheet.Range("$A$3:$M$203").AutoFilter Field:=5
    Else
        ActiveSheet.Range("$A$3:$M$203").AutoFilter Field:=5, Criteria1:=Target.Value
    End If
End If
End Sub
 
Bạn sử dụng thử code này xem sao:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$1" Then
    If UCase(Target.Value) = "ALL" Then
        ActiveSheet.Range("$A$3:$M$203").AutoFilter Field:=5
    Else
        ActiveSheet.Range("$A$3:$M$203").AutoFilter Field:=5, Criteria1:=Target.Value
    End If
End If
End Sub

}}}}} Tuyệt vời bác ơi. File em đã chạy được rồi ạ.

Auto Filter thì nên chỉnh điều kiện kiểu
Mã:
Criteria1:="*" & Target.Value & "*"
Sẽ linh hoạt hơn trong việc gõ...

Hoặc bạn chủ topic có thể tạo cho ô M1 này 1 cái Data Validation để chọn thì sẽ đảm bảo tính chính xác và nhanh hơn... Còn không thì thích gì gõ đó...với gợi í linh hoạt ở trên.../-*+/

}}}}}Hay quá bác ạ. em sửa code theo gợi ý của bác, thì việc search không phân biệt chữ hoa/thường ở mã nữa.
Tạo Data validation thì lại 1 bước xổ xuống (em có khoảng 500 mã hàng - tìm được đúng cái mình cần khá là lâu)
 
Web KT

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

Back
Top Bottom