Hỏi cách phối hợp Data Validation và Advanced Filter (3 người xem)

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

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

BNTT

Bùi Nguyễn Triệu Tường
Thành viên danh dự
Tham gia
3/7/07
Bài viết
4,946
Được thích
23,212
Nghề nghiệp
Dạy đàn piano
Có bạn nào có kinh nghiệm về chuyện này, cho tôi hỏi tí.
Giả sử tôi có một bảng báo giá như sau, ở D3 và C3 là 2 cái Data Validation để lựa ra Nhóm Hàng và Loại Hàng:
000-99.gif


Có cách nào để sau khi đã lựa xong ở D3 và C3, thì cái danh mục ở dưới tự động AutoFilter như vầy không:
001-22.gif
 

File đính kèm

Có bạn nào có kinh nghiệm về chuyện này, cho tôi hỏi tí.
Giả sử tôi có một bảng báo giá như sau, ở D3 và C3 là 2 cái Data Validation để lựa ra Nhóm Hàng và Loại Hàng:
000-99.gif
Có cách nào để sau khi đã lựa xong ở D3 và C3, thì cái danh mục ở dưới tự động AutoFilter như vầy không:
001-22.gif
Làm bằng VBA được không, nếu OK thì xem file. Còn theo YC như vậy chưa nghĩ ra.
PHP:
Sub TaoBaoGia()
Dim endR As Long, rngData As Range, iR As Long
Sheet1.Select
Range("B7:F1000").ClearContents
With Sheet2
    endR = .[C1000].End(xlUp).Row
    Set rngData = .Range("B7:F" & endR)
    With rngData
        .AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "C3:D4"), CopyToRange:=Range("B7"), Unique:=False
    End With
End With
ActiveWorkbook.Names("Criteria").Delete
ActiveWorkbook.Names("Extract").Delete
endR = [C1000].End(xlUp).Row
For iR = 8 To endR - 1
    Cells(iR, 2) = iR - 7
Next
End Sub
Ý BNTT là muốn hỏi chọn điều kiện AutoFilter ở trên mà AutoFilter theo bảng (list), để nghiên cứu List có cho chọn?
 

File đính kèm

Hiện tại:
- Nhóm hàng đang nằm ở C3
- Loại hàng nằm ở C4
- Validation tương ứng nằm ở D3 và D4
Vậy bạn chỉ cần bố trí lại:
- Nhóm hàng nằm ở C3 ---> Validation tương ứng với nó nằm ở C4
- Loại hàng nằm ở D3 ----> Validation tương ứng với nó nằm ở D4
Thế là hoàn tiàn có thể dùng Advanced Filter rồi
Còn nếu như "cố chấp" muốn giữ nguyên việc bố trí trên thì buộc bạn phải có 4 cell phụ nằm ở nơi khác (việc dùng AF quá rõ ràng thế rồi ---> Tiêu đề nằm trên, ĐK nằm dưới nó ---> Khỏi cần phải bàn)
--------------
Nếu bạn đồng ý sửa lại thế thì code quá đơn giản:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim DK As Range, Rng As Range
  Set DK = [C3:D4]
  Set Rng = [B7].CurrentRegion
  If Not Intersect(DK, Target) Is Nothing Then
    Rng.AdvancedFilter Action:=1, CriteriaRange:=DK
  End If
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
- Có chứ bác, mấy bài lọc này Dosnet đã từng làm rồi mà. Có thêm 1 cột phụ bên dữ liệu thô được không? Bác tham khảo file này xem có ích gì không nhé !
 

File đính kèm

Lần chỉnh sửa cuối:
Sao không cho hết dữ liệu sang 1 Sheet khác nhỉ, sau đó chỉ lọc qua thôi ??
 
- Có chứ bác, mấy bài lọc này Dosnet đã từng làm rồi mà. Có thêm 1 cột phụ bên dữ liệu thô được không? Bác tham khảo file này xem có ích gì không nhé !

Anh DOSNET ơi! cái file anh làm đúng ngay chỗ em đang cần và thắc mắc đấy ạ! Anh cho em hỏi là cái sheet REPORT anh làm sao mà đc như vậy ạ (em xin lỗi tại excel em hơi dốt). Nếu không ngại anh quay film màn hình lại giúp em được không ạ? Em cảm ơn anh nhiều
 
Anh DOSNET ơi! cái file anh làm đúng ngay chỗ em đang cần và thắc mắc đấy ạ! Anh cho em hỏi là cái sheet REPORT anh làm sao mà đc như vậy ạ (em xin lỗi tại excel em hơi dốt). Nếu không ngại anh quay film màn hình lại giúp em được không ạ? Em cảm ơn anh nhiều
Up, cũng cần được giải thích.
 
- Có chứ bác, mấy bài lọc này Dosnet đã từng làm rồi mà. Có thêm 1 cột phụ bên dữ liệu thô được không? Bác tham khảo file này xem có ích gì không nhé !

Trang " REPORT " vẫn không có dòng tính tổng ở dưới, ở trên đã có tiêu đề rồi, có ai làm được không a. Báo cáo thường có dòng tính tổng
 
- Có chứ bác, mấy bài lọc này Dosnet đã từng làm rồi mà. Có thêm 1 cột phụ bên dữ liệu thô được không? Bác tham khảo file này xem có ích gì không nhé !
Dùng validation để filter trong cùng một sheet được không bạn. (không dùng sheet report)
Ví dụ: Trong sheet DATA, mình muốn lọc 'nhóm VLXD' là 'đồ điện' chẳng hạn. Mình tạo 1 validation 'nhóm VLXD'. Khi chọn bất kì tên nào trong list thì bảng data tự lọc.
 
Web KT

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

Back
Top Bottom