Lọc ngày tháng bằng VBA

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

trinhhoaimy

Thành viên mới
Tham gia
20/1/13
Bài viết
14
Được thích
0
E chào các anh chị!
Em cần lọc dữ liệu trong bảng theo ngày, em có chạy record marcro để lấy code và sau đó sửa lại code ( chỗ vùng bôi vàng) để lọc ngày tại ô B2, nhưng khi chạy code không ra kết quả, nhờ các anh chị sửa lại code cho đúng giúp e với ạ, e cảm ơn.
1708334992939.png1708335095995.png
 

File đính kèm

  • 1708334931139.png
    1708334931139.png
    55.4 KB · Đọc: 6
E chào các anh chị!
Em cần lọc dữ liệu trong bảng theo ngày, em có chạy record marcro để lấy code và sau đó sửa lại code ( chỗ vùng bôi vàng) để lọc ngày tại ô B2, nhưng khi chạy code không ra kết quả, nhờ các anh chị sửa lại code cho đúng giúp e với ạ, e cảm ơn.
View attachment 299097View attachment 299098
Thử sửa chỗ $B$1:$G$87 --> $A$4:$F$87 xem thế nào
 
Upvote 0
bạn sửa chổ Criteria2 như sau:

Criteria2:=Array(2, Format(Range("B2").value, "dd-MM-yyyy"))
 
Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

  • myvba1.xlsm
    18.6 KB · Đọc: 15
Upvote 0
Cái này bạn chạy trên phiên bản 365 mình thấy có mấy hạn chế trong việc dùng lọc với Criteria2, với code trên bạn có thể chạy được bây giờ nhưng nếu bạn đổi định dạng ngày trên máy tính hoặc gửi sang máy tính khác mà định dạng ngày là dd/mm thì mình e không chạy được, nên bạn tìm hiểu thêm để giải quyết triệt để hơn. Mình thấy có gợi ý là dùng advance filter.
 
Upvote 0
Hang Xin Day Nay

PHP:
Option Explicit

Sub HangXinDayNay()
    Const sColRef = "B"
    Const iRowHeader = 4
    Const sCellDate = "B2"
    Dim lastRow As Long, ws As Worksheet
   
    Set ws = ActiveSheet
    If ws.AutoFilterMode = True And ws.FilterMode = True Then Sheet1.ShowAllData
    lastRow = ws.Range(sColRef & ws.Rows.Count).End(xlUp).Row
    If lastRow <= iRowHeader + 1 Then Exit Sub
    ws.Range(sColRef & iRowHeader).Resize(lastRow - iRowHeader + 1).AutoFilter Field:=1, Criteria1:="=" & ws.Range("B2").Value, Operator:=xlAnd
End Sub
 
Upvote 0
Web KT
Back
Top Bottom