Lọc dữ liệu theo ngày tháng

Liên hệ QC

dzungmtcar

Thành viên mới
Tham gia
16/1/08
Bài viết
7
Được thích
1
Chào các bạn GPE !
Tôi có một vấn đề này chưa tìm được cách giải quyết. Kính mong các bạn bớt chút thời gian chỉ giáo cho Tôi giải quyết vấn đề này với.
Vấn đề là thế này: Tôi có một file theo dõi VD : cột A là cột ngày tháng, Cột B là xếp loại A . Và cứ khi nào ở cột A là A in đậm & có màu xanh thì đó là A hoàn toàn.
Nhưng sau một thời gian dài, Tôi không tài nào thống kê được có bao nhiêu A và vào ngày tháng nào.????
Mong các bạn giúp đỡ nhé
Xin chân thành cảm ơn.
 

File đính kèm

  • LocDuLieu.DzungMTCar.xls
    82 KB · Đọc: 79
Chào các bạn GPE !
A in đậm & có màu xanh thì đó là A hoàn toàn.
Nhưng sau một thời gian dài, Tôi không tài nào thống kê được có bao nhiêu A và vào ngày tháng nào.????
Mong các bạn giúp đỡ nhé
Xin chân thành cảm ơn.
giải pháp đơn giản nhất là bạn dùng Excel 2007 lọc Auto Filter theo mầu
 
Cảm ơn bạn ndu 960281631 !
Đúng là Tôi muốn đếm các chữ A in đậm màu xanh & ngày tháng liên quan. Sau khi xác định được thì kết quả cho sang Sheet bên cạnh hoặc ngay cột kế bên. Tôi đã thử dùng hàm VLookup nhưng không được !!!!!! Bạn ndu 960281631 có cách nào giúp Tôi với
Xin chân thành cảm ơn.
 
Cảm ơn bạn ndu 960281631 !
Đúng là Tôi muốn đếm các chữ A in đậm màu xanh & ngày tháng liên quan. Sau khi xác định được thì kết quả cho sang Sheet bên cạnh hoặc ngay cột kế bên. Tôi đã thử dùng hàm VLookup nhưng không được !!!!!! Bạn ndu 960281631 có cách nào giúp Tôi với
Xin chân thành cảm ơn.
Đương nhiên dùng VLOOKUP là không được rồi vì muốn thế bạn phải có 1 hàm nào đó nhận dạng được chử A in đậm và màu xanh
Tôi làm cho bạn bằng công thức (có cột phụ)
Đúng ra lọc bằng VBA không có vấn đề, nhưng nếu dùng vòng lập For thì chậm quá! Tôi có nghĩ qua sẽ dùng Find để làm việc này nhưng không biết cú pháp
Mong các cao thủ hướng dẩn thêm về việc dùng Find để lọc với bài toán này!
 

File đính kèm

  • LoctheoFormat_01.rar
    30.5 KB · Đọc: 87
Lần chỉnh sửa cuối:
Xin chân thành cảm ơn Bạn ndu 96081631!
Với ý tưởng của Bạn dùng Find để giải bài toán của Tôi, Tôi đã tìm ra cách giải tuy hơi thủ công xong rất phù hợp với trình độ Excel của Tôi và lại cực hiệu quả và nhanh nữa.
Tôi làm thế này bạn xem có được không nhé? Tôi vào Find tìm Format của chư A thường sau đó Repalce bằng ô chống. Sau đó Sort lại lấy chữ A xanh in đậm
Cảm ơn Bạn ndu 96081631 nhé, Cảm ơn GPE.
 
Xin chân thành cảm ơn Bạn ndu 96081631!
Với ý tưởng của Bạn dùng Find để giải bài toán của Tôi, Tôi đã tìm ra cách giải tuy hơi thủ công xong rất phù hợp với trình độ Excel của Tôi và lại cực hiệu quả và nhanh nữa.
Tôi làm thế này bạn xem có được không nhé? Tôi vào Find tìm Format của chư A thường sau đó Repalce bằng ô chống. Sau đó Sort lại lấy chữ A xanh in đậm
Cảm ơn Bạn ndu 96081631 nhé, Cảm ơn GPE.
Rất sáng tạo!
Nhưng làm vầy sẽ nhanh hơn mà không cần sort nè:
Sau khi bạn thay chử A thường thành rổng, bạn chọn hết cột B, bấm Ctrl + G, bấm nút Special và check vào mục Contants, OK... Như vậy nó sẽ chọn tất cả những cell có dử liệu... giờ bạn chỉ việc copy rồi paste sang nơi khác là xong!
 
Đương nhiên dùng VLOOKUP là không được rồi vì muốn thế bạn phải có 1 hàm nào đó nhận dạng được chử A in đậm và màu xanh
Tôi làm cho bạn bằng công thức (có cột phụ)
Đúng ra lọc bằng VBA không có vấn đề, nhưng nếu dùng vòng lập For thì chậm quá! Tôi có nghĩ qua sẽ dùng Find để làm việc này nhưng không biết cú pháp
Mong các cao thủ hướng dẩn thêm về việc dùng Find để lọc với bài toán này!

Bác tham khảo nhé :

PHP:
Sub OB()
    On Error Resume Next
    Application.ScreenUpdating = False
    Dim i As Long, HC As Long
    Dim MyCell As Range, FirstAddress As String
    HC = 1
    Sheet1.Range("A2:A" & Sheet2.Range("A65000").End(xlUp).Row).ClearContents
    With Application.FindFormat.Font
        .FontStyle = "Bold"
        .ColorIndex = 5
    End With
    With Sheet2.Range("B1:B" & Sheet2.Range("B65000").End(xlUp).Row)
        Set MyCell = .Find(What:="", Searchformat:=True)
        If MyCell Is Nothing Then Exit Sub
        Do While MyCell.Row > i
            i = MyCell.Row
            HC = HC + 1
            Sheet1.Range("A" & HC).Value = MyCell.Offset(0, -1).Value
            Set MyCell = .Find("", After:=MyCell, Searchformat:=True)
            If MyCell Is Nothing Then Exit Sub
        Loop
    End With
    Application.ScreenUpdating = True
End Sub

Thân!
 

File đính kèm

  • LocDuLieu_OB.rar
    60.7 KB · Đọc: 90
Đúng là nhanh thật! Cãm ơn Mr OkeBab! đây là cái tôi đang cần!
Nhưng cho hỏi: Sao không thấy trong code chổ nào tìm chử A nhỉ?
 
Đúng là nhanh thật! Cãm ơn Mr OkeBab! đây là cái tôi đang cần!
Nhưng cho hỏi: Sao không thấy trong code chổ nào tìm chử A nhỉ?

Nó không tìm chữ A bác ạ, nó chỉ tìm theo Format thôi, có gì bác thay giúp em, chỉ vì em không để ý chữ A thôi.

Thân!
 
Web KT
Back
Top Bottom