Lấy dữ liệu trong 1 khoảng thời gian

Liên hệ QC

zPeterPan

Thành viên hoạt động
Tham gia
27/2/21
Bài viết
154
Được thích
10
Nhờ mọi người có thể sửa giúp em đoạn code để thống kê trong 1 khoảng thời gian nhất định được không ạ. . . ví dụ từ ngày 02/02/2012 đến ngày 10/06/2021 ( dòng cuối là ngày 19/6/2021) được không ạ. . . chứ thống kê về tận thời gian là 01/01/2005 thì nhiều quá ạ. . . sơ bộ nội dung kết quả là như đoạn code em hình dung ra đây ạ. . .
Mã:
TuNgay = .Range("T2").Value
DenNgay = .Range("AB2").Value
If arr(i, j) > DenNgay Then GoTo Thoat
If arr(i, j) >= TuNgay And arr(i, j) <= DenNgay Then
Em không biết viết vào chỗ nào ạ. . . Mọi người có thể sửa giúp em được không ạ. . . Sub AutoTK_Click () chạy sheets(ThongKe) năm trong sheet CAPSO ạ
1.JPG
 

File đính kèm

  • ThongKe_KetQuaMienBac.xlsb
    3.2 MB · Đọc: 14
Lần chỉnh sửa cuối:
Trong Module A_CapNhat, sửa trong J1 và J2 của sheet1 (tức sheet Capnhat) theo mong muốn
Rich (BB code):
Sub capnhatKetqua()
Dim http As New XMLHTTP60, html As New HTMLDocument
Dim resT As Object, resR As Object, cll As Object
Dim eNs
Dim result() As String
Dim cnd As Boolean
Dim hd, rWs
Dim i, j, k, x, z, t
With Sheet1
    If .Range("J2") < .Range("J1") Then
        cnd = True
    Else
        If .Range("J2") = .Range("J1") And .Range("I1") >= 19 Then cnd = True '<= thay doi gio cap nhat ( so 20 )
        'gio cap nhat nen lay sau 6g30 toi, khoang 6g45 tro di ( 19-20 )
    End If
End With
 
Upvote 0
Trong Module A_CapNhat, sửa trong J1 và J2 của sheet1 (tức sheet Capnhat) theo mong muốn
Rich (BB code):
Sub capnhatKetqua()
Dim http As New XMLHTTP60, html As New HTMLDocument
Dim resT As Object, resR As Object, cll As Object
Dim eNs
Dim result() As String
Dim cnd As Boolean
Dim hd, rWs
Dim i, j, k, x, z, t
With Sheet1
    If .Range("J2") < .Range("J1") Then
        cnd = True
    Else
        If .Range("J2") = .Range("J1") And .Range("I1") >= 19 Then cnd = True '<= thay doi gio cap nhat ( so 20 )
        'gio cap nhat nen lay sau 6g30 toi, khoang 6g45 tro di ( 19-20 )
    End If
End With
Cảm ơn bác. . . nhưng sheet CapNhap không có vấn đề gì ạ. . . chủ yếu là sheet ThongKe trong khoảng thời gian định sẵn ạ
 
Upvote 0
Cảm ơn bác. . . nhưng sheet CapNhap không có vấn đề gì ạ. . . chủ yếu là sheet ThongKe trong khoảng thời gian định sẵn ạ
Ngày lấy dữ liệu là ở ô i1 của sheet cập nhật, tham chiếu đến ô A mấy đó +1 (nhìn rất rất lung tung, chẳng hiểu) sửa lại = ngày gì đó thì lấy dữ liệu đúng thời gian mong muốn từ ngày gì đó
Định theo vết nhưng thấy bị báo lỗi ở dòng:
K2N.Range("A1000").End(3).Offset(1).Resize(, 18) = Array([AB2], [H1], [J2], WorksheetFunction.CountA([A8:A100]), Cells(7, So), WorksheetFunction.CountA([A8:A100]) - Cells(4, So) - Cells(5, So), Cells(4, So), Cells(5, So), Cells(6, So), Cells(EndR - 8, So), Cells(EndR - 7, So), Cells(EndR - 6, So), Cells(EndR - 5, So), Cells(EndR - 4, So), Cells(EndR - 3, So), Cells(EndR - 2, So), Cells(EndR - 1, So), Cells(EndR, So))

và biến số dùng chẳng khai báo gì cả ( như K2N.Range("A1000") thì K2N đó là sheet nào, khai báo ở đâu?) nên quyết định nghỉ chơi.
 
Upvote 0
Ngày lấy dữ liệu là ở ô i1 của sheet cập nhật, tham chiếu đến ô A mấy đó +1 (nhìn rất rất lung tung, chẳng hiểu) sửa lại = ngày gì đó thì lấy dữ liệu đúng thời gian mong muốn từ ngày gì đó
Định theo vết nhưng thấy bị báo lỗi ở dòng:
K2N.Range("A1000").End(3).Offset(1).Resize(, 18) = Array([AB2], [H1], [J2], WorksheetFunction.CountA([A8:A100]), Cells(7, So), WorksheetFunction.CountA([A8:A100]) - Cells(4, So) - Cells(5, So), Cells(4, So), Cells(5, So), Cells(6, So), Cells(EndR - 8, So), Cells(EndR - 7, So), Cells(EndR - 6, So), Cells(EndR - 5, So), Cells(EndR - 4, So), Cells(EndR - 3, So), Cells(EndR - 2, So), Cells(EndR - 1, So), Cells(EndR, So))

và biến số dùng chẳng khai báo gì cả ( như K2N.Range("A1000") thì K2N đó là sheet nào, khai báo ở đâu?) nên quyết định nghỉ chơi.
Em cảm ơn bác. . . Em nhặt nhạnh từng tí trên các bài viết và tìm những file có đoạn code phù hợp. . .
các dòng đó có lẽ là dư thừa ạ. . . em xóa đi thì vẫn chạy thống kê ra ạ. . . còn em mong muốn là chỉ chạy thống kê theo thời gian cụ thể chứ thống kê từ dòng 3 đến dòng cuối mất thời gian và dữ liệu lớn ạ. . .Capture.JPG
 
Upvote 0
Nhờ mọi người có thể sửa giúp em đoạn code để thống kê trong 1 khoảng thời gian nhất định được không ạ. . . ví dụ từ ngày 02/02/2012 đến ngày 10/06/2021 ( dòng cuối là ngày 19/6/2021) được không ạ. . . chứ thống kê về tận thời gian là 01/01/2005 thì nhiều quá ạ. . . sơ bộ nội dung kết quả là như đoạn code em hình dung ra đây ạ. . .
Mã:
TuNgay = .Range("T2").Value
DenNgay = .Range("AB2").Value
If arr(i, j) > DenNgay Then GoTo Thoat
If arr(i, j) >= TuNgay And arr(i, j) <= DenNgay Then
Em không biết viết vào chỗ nào ạ. . . Mọi người có thể sửa giúp em được không ạ. . . Sub AutoTK_Click () chạy sheets(ThongKe) năm trong sheet CAPSO ạ
Bạn giải thích rõ cách tính trong sheet "Thongke" là sẽ xử lý được thôi
 
Upvote 0
Bạn giải thích rõ cách tính trong sheet "Thongke" là sẽ xử lý được thôi
Tức là ở sheet ThongKe dòng 7 từ cột 2 đến cột 51 sẽ đối chiếu với cột (AD:BD) của sheet data. và số dòng đối chiếu của sheet data là từ ngày (Cell.T2 sheet ThongKe) đến ngày (Cell.AB2 sheet ThongKe)
Ví dụ là ngày 8/5/2005 cặp 00x55 thì ngày ra là ngày thứ 2 có cặp 00x55 (55 ra vào ngày 10/5/2005)
ngày 8/5/2005 cặp 02x20 thì ngày ra là ngày thứ 1 có cặp 02x20 (20 có 3 lần ra vào ngày 9/5/2005)
ngày 8/5/2005 cặp 04x40 thì ngày ra là ngày thứ 3 có cặp 04x40 (40 ra vào ngày 11/5/2005)
 
Upvote 0
Tức là ở sheet ThongKe dòng 7 từ cột 2 đến cột 51 sẽ đối chiếu với cột (AD:BD) của sheet data. và số dòng đối chiếu của sheet data là từ ngày (Cell.T2 sheet ThongKe) đến ngày (Cell.AB2 sheet ThongKe)
Ví dụ là ngày 8/5/2005 cặp 00x55 thì ngày ra là ngày thứ 2 có cặp 00x55 (55 ra vào ngày 10/5/2005)
ngày 8/5/2005 cặp 02x20 thì ngày ra là ngày thứ 1 có cặp 02x20 (20 có 3 lần ra vào ngày 9/5/2005)
ngày 8/5/2005 cặp 04x40 thì ngày ra là ngày thứ 3 có cặp 04x40 (40 ra vào ngày 11/5/2005)
Cột ngày của bạn là dùng chung cho tất cả các cột hay là thế nào
 
Upvote 0
Tức là ở sheet ThongKe dòng 7 từ cột 2 đến cột 51 sẽ đối chiếu với cột (AD:BD) của sheet data. và số dòng đối chiếu của sheet data là từ ngày (Cell.T2 sheet ThongKe) đến ngày (Cell.AB2 sheet ThongKe)
Ví dụ là ngày 8/5/2005 cặp 00x55 thì ngày ra là ngày thứ 2 có cặp 00x55 (55 ra vào ngày 10/5/2005)
ngày 8/5/2005 cặp 02x20 thì ngày ra là ngày thứ 1 có cặp 02x20 (20 có 3 lần ra vào ngày 9/5/2005)
ngày 8/5/2005 cặp 04x40 thì ngày ra là ngày thứ 3 có cặp 04x40 (40 ra vào ngày 11/5/2005)
Hỏi thêm bạn chỗ này: nếu ngày 1 về & ngày 2 hoặc 3 cũng vê thì điền thế nào
 
Upvote 0
Chỉ tính lần về đầu tiên thôi ạ. Và số nháy về là * ** ***.
Cột ngày trong sheet "Thongke" không biết là cho trước hay là không nên tạm thời thống kê 3 ngày 1 lần tính từ ngày bắt đầu, có gì điều chỉnh sau.
Chạy "thongke3Ngay" trong file đính kèm
 

File đính kèm

  • ThongKe_KetQuaMienBac.xlsb
    3.2 MB · Đọc: 22
Upvote 0
Cột ngày trong sheet "Thongke" không biết là cho trước hay là không nên tạm thời thống kê 3 ngày 1 lần tính từ ngày bắt đầu, có gì điều chỉnh sau.
Chạy "thongke3Ngay" trong file đính kèm
Cảm ơn bác nhiều. . . em sẽ dựa vào code của bác để em sửa lại ạ. . .
 
Upvote 0
Web KT

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

Back
Top Bottom