AutoFilter với nhiều điều kiện cho 1 trường dữ liệu

Liên hệ QC

Cao Mạnh Sơn

Tôi đồng ý
Tham gia
26/11/07
Bài viết
568
Được thích
586
Xin các bác viết cho đoạn code dùng để lọc autoFilter cho 1 cột dữ liệu với mong muốn sau đây:
Cột B bắt đầu từ B8,dữ liệu kiểu ngày (định dạng dd/mm/yyyy),các giá trị từ 01/10/2009 trở đi
Tại B5 là giá trị 1 ngày mình sẽ nhập vào. Khi lọc, các giá trị ngày >= ngày B5 và các dòng trắng sẽ được hiển thị.
Đoạn code này sẽ gán cho 1 nút lệnh có tên là Lọc,sau thi thực thi nút lệnh này sẽ chuyển tên thành ShowAll, và có 1 đoạn code để loại bỏ giá trị lọc AutorFilter.
Em đã thử làm nhưng chưa đạt mong muốn.
 

File đính kèm

  • Book2.xls
    19.5 KB · Đọc: 20
Sao bạn không thử dùng record macro?
 

File đính kèm

  • Book2.xls
    41 KB · Đọc: 34
Upvote 0
Xin các bác viết cho đoạn code dùng để lọc autoFilter cho 1 cột dữ liệu với mong muốn sau đây:
Cột B bắt đầu từ B8,dữ liệu kiểu ngày (định dạng dd/mm/yyyy),các giá trị từ 01/10/2009 trở đi
Tại B5 là giá trị 1 ngày mình sẽ nhập vào. Khi lọc, các giá trị ngày >= ngày B5 và các dòng trắng sẽ được hiển thị.
Đoạn code này sẽ gán cho 1 nút lệnh có tên là Lọc,sau thi thực thi nút lệnh này sẽ chuyển tên thành ShowAll, và có 1 đoạn code để loại bỏ giá trị lọc AutorFilter.
Em đã thử làm nhưng chưa đạt mong muốn.

Sao bạn không dùng Advanced Filter thử xem, chỉnh lại code cho phù hợp với vùng dữ liệu của bạn.

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cll As Range
    If Intersect(Target, [B5]) Is Nothing Then Exit Sub
    [B6] = Chr(32)
    For Each Cll In [B8:B23]
        If Cll = "" Then Cll = Chr(32)
    Next Cll
    Range("B8:B23").AdvancedFilter xlFilterInPlace, [B4:B6]
End Sub

Xem File.
 

File đính kèm

  • Copy of Book2.xls
    39.5 KB · Đọc: 55
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn 2 bác, đúng ý em rồi. Em đã dùng Record macro nhưng không gán được giá trị của B5 vào nên bí.
Em hỏi thế này, nếu dùng đoạn code của bác Long trong đó có vòng lặp For-Next, nếu dữ liệu nhiều có bị chậm không vậy, vả lại vùng điều kiện bắt buộc phải có 1 cell trống mà trong Data của em lại không muốn có dòng trống tại vị trí đó. Em đã dùng Code của bác Ptm và thay Sheet1.[b8:b24].AutoFilter thành ActiveSheet.ShowAllData . Em thấy chạy tốt.
 
Upvote 0
Web KT

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

Back
Top Bottom