Lọc dữ liệu theo ngày, tháng (1 người xem)

  • Thread starter Thread starter laddy9x
  • Ngày gửi Ngày gửi

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

laddy9x

Thành viên mới
Tham gia
31/8/14
Bài viết
8
Được thích
0
Tại sheet 1 em có nhật ký bán hàng
giờ tại sheet 2 em muốn khi chọn mốc thời gian ở các ô B3 và D3 (ví dụ 01/01 -15/01)thì phía dưới sẽ cho ra kết quả doanh thu trong những ngày đó. Mong các bác giúp đỡ em ạ. Em cảm ơn /-*+/
 

File đính kèm

Tại sheet 1 em có nhật ký bán hàng
giờ tại sheet 2 em muốn khi chọn mốc thời gian ở các ô B3 và D3 (ví dụ 01/01 -15/01)thì phía dưới sẽ cho ra kết quả doanh thu trong những ngày đó. Mong các bác giúp đỡ em ạ. Em cảm ơn /-*+/
PHP:
Sub Ngay()
Dim Sarr, Darr, i&, k&, Fdate, Edate
With Sheet1
    Sarr = .Range(.[A3], .[A50000].End(xlUp)).Resize(, 8).Value2
End With
ReDim Darr(1 To UBound(Sarr), 1 To 8)
With Sheet2
    Fdate = .[B3]
    Edate = .[D3]
    For i = 1 To UBound(Sarr)
        If Sarr(i, 2) >= Fdate And Sarr(i, 2) <= Edate Then
            k = k + 1
            Darr(k, 1) = k
            For j = 2 To 8
                Darr(k, j) = Sarr(i, j)
            Next j
        End If
    Next i
        .[A6:H50000].ClearContents
        If k Then
            .[B6].Resize(k, 1).NumberFormat = "dd/mm/yyyy"
            .[A6].Resize(k, 8).Value = Darr
        End If
End With
End Sub


Bạn thử xem có được ko
 
Lần chỉnh sửa cuối:
Tại sheet 1 em có nhật ký bán hàng
giờ tại sheet 2 em muốn khi chọn mốc thời gian ở các ô B3 và D3 (ví dụ 01/01 -15/01)thì phía dưới sẽ cho ra kết quả doanh thu trong những ngày đó. Mong các bác giúp đỡ em ạ. Em cảm ơn /-*+/

Thử thêm cách này . Bạn xem trong File nhé. Bạn gõ ngày tháng vào 2 ô B3 và D3 là kết quả hiện ra
 

File đính kèm

Thử thêm cách này . Bạn xem trong File nhé. Bạn gõ ngày tháng vào 2 ô B3 và D3 là kết quả hiện ra
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3:D3")) Is Nothing Then
    Call Gigi ' Ten Sub
End If
End Sub
Mỗi người thường có cách viết khác nhau, nhưng mĩnh nghĩ nên tách sự kiện này khỏi Sub cho dễ nhìn hơn. Thực tế những người viết Code chuyên nghiệp cũng thường tách ra thành 1 module nhỏ vì code thường rất dài, khi cần tìm chuột phải Denifition là xong. Tất nhiên đây là chủ quan của mình thôi
 
Vẫn chưa chuẩn về thứ tự thì phải. Cái Darr(k, 1) = k ở code trên làm nên thứ tự thì phải ^^

Mình tưởng số thứ tự cũng lấy tương ứng với bên sheet1 thôi chứ không nghĩ là đánh lại theo thứ tự 1,2,3... Nếu mà thế thật thì đúng là

còn thiếu xót
 
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3:D3")) Is Nothing Then
    Call Gigi ' Ten Sub
End If
End Sub
Mỗi người thường có cách viết khác nhau, nhưng mĩnh nghĩ nên tách sự kiện này khỏi Sub cho dễ nhìn hơn. Thực tế những người viết Code chuyên nghiệp cũng thường tách ra thành 1 module nhỏ vì code thường rất dài, khi cần tìm chuột phải Denifition là xong. Tất nhiên đây là chủ quan của mình thôi

Cảm ơn bạn. Vì mình mới học về VBA nên còn nhiều thiếu xót, mong được các bạn cùng góp ý để ngày càng tiến bộ thêm
 
Phong nên tập dần chuyển sang dạng mảng cho dạng bài như vậy. Tốc độ sẽ nhanh hơn rất nhiều. Cái hiện tại Phong làm là xé trên từng Cells nên sẽ tính toán lâu hơn...

Còn cái chuyện viết code luôn trong sự kiện hay tách ra module rồi từ sự kiện mới Call sub (như comet_1701 nói). Thì tùy nhu cầu mỗi người mà làm.



Đôi lúc tôi thích viết code trong sự kiện hơn. Vì copy và paste lên GPE có 1 phát, khỏi phải hướng dẫn cho người sử dụng lòng vòng. bảo paste vào sheet thì sheet, vào module thì vào module....


Em đang đọc về mảng ở topic này :

http://www.giaiphapexcel.com/forum/showthread.php?46834-Các-câu-hỏi-về-mảng-trong-VBA-(Array)

Mà thấy sao khó hiểu quá ạ, hình như ko phải dành cho người mới bắt đầu về mảng thì phải. Anh có link ở topic nào giới thiệu những kiến thức cơ bản nhất về mảng thì cho em xin với ạ. em cảm ơn anh !
 
Lần chỉnh sửa cuối:
Bạn có thể tham khảo cách làm trong video nhé, điều kiện do bạn tùy chỉnh theo ngày thnags hay theo tên, ma hàng tùy vào dạng báo cáo mà bạn làm. Mình cũng đang dùng thử làm báo cáo và thấy rất ổn. bạn tìm hiểu xem.
[video=youtube;cmFKIQDvQsY]https://www.youtube.com/watch?t=3&amp;v=cmFKIQDvQsY[/video]​
 
Hi. Tôi cũng đọc đại trên GPE hình như cũng là cái link đó đó, chứ có biết cái tài liệu nào đâu.../-*+//-*+//-*+/ Thôi thì làm riết thành quen ah!

Hi hi. Em tìm thử trên GPE cũng nhiều rồi mà thấy hình như có mỗi topic ấy là bàn về mảng nhiều nhất à . Thôi để theo lời anh cứ đọc dần dần vậy , rồi chổ nào không hiểu lên GPE hỏi sau ... &&&%$R&&&%$R
 

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

Back
Top Bottom