Trích lọc dữ liệu theo ngày và mã CTY (2 người xem)

  • Thread starter Thread starter junomax
  • Ngày gửi Ngày gửi
Liên hệ QC

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

junomax

Thành viên mới
Tham gia
14/1/12
Bài viết
22
Được thích
0
Chào các anh chị trên diễn đàn, em có 1 file tổng hợp báo cáo của kỹ thuật, bao gồm ngày báo cáo và tên công ty, mã CTY. Em muốn khi nhập 1 mã CTY và ngày bắt đầu và ngày kết thúc ở sheet khác thì sẽ lọc dự liệu theo đúng mã CTY và khoản thời gian đã chọn.

Vi dụ: Mã CTY là "VTA" ngày bắt đầu là 30/06/2012, ngày kết thúc là "30/07/2012" thì sẽ trích lọc dữ liệu theo đúng CTY đó và tất cả ngày bao gồm từ ngày 30/06 đến 30/07.

Em cũng đã tìm hiểu trên diễn đàn nhưng chưa có cái nào làm được, em thấy sử dụng code là làm được, như em gà quá, viết sửa rồi mà không được, mong các anh chị giúp đở.
 
Up file lên đi, nói không thế này ai tưởng tượng nổi chứ
 
File em nặng quá....không up lên diễn đàn được, khaon để em up lên Mega sao đó gửi lên mọi người giúp đỡ.
 
Chào các anh chị trên diễn đàn, em có 1 file tổng hợp báo cáo của kỹ thuật, bao gồm ngày báo cáo và tên công ty, mã CTY. Em muốn khi nhập 1 mã CTY và ngày bắt đầu và ngày kết thúc ở sheet khác thì sẽ lọc dự liệu theo đúng mã CTY và khoản thời gian đã chọn.

Vi dụ: Mã CTY là "VTA" ngày bắt đầu là 30/06/2012, ngày kết thúc là "30/07/2012" thì sẽ trích lọc dữ liệu theo đúng CTY đó và tất cả ngày bao gồm từ ngày 30/06 đến 30/07.

Em cũng đã tìm hiểu trên diễn đàn nhưng chưa có cái nào làm được, em thấy sử dụng code là làm được, như em gà quá, viết sửa rồi mà không được, mong các anh chị giúp đở.

Ngày bắt đầu và ngày kết thúc nằm ở 2 cột???
Dữ liệu của sheet cần viết code quá it, nhưng sheet không liên quan thì dữ liệu quá trời
Sao không mô tả dữ liệu mẫu nếu làm thủ công thì sẽ như thế nào
 
Lần chỉnh sửa cuối:
À chỉ cần xác định ngày báo cáo thôi anh! vd: chọn ngày báo cáo là ngày 30/06 đến ngày 30/07 thì sẽ lọc ra những report từ ngày 30/06 đến ngày 30/07, còn ngày bắt đầu và ngày kết thúc là ngày làm việc của nhân viên.
 
À chỉ cần xác định ngày báo cáo thôi anh! vd: chọn ngày báo cáo là ngày 30/06 đến ngày 30/07 thì sẽ lọc ra những report từ ngày 30/06 đến ngày 30/07, còn ngày bắt đầu và ngày kết thúc là ngày làm việc của nhân viên.
Copy code cho vào 1 module
Tai sheet locdanhsach tạo 1 nút command gọi Sub này
PHP:
Sub loc()
Dim dl, arr(), i, j, ii
dl = Sheet3.Range(Sheet3.[a2], Sheet3.[a65536].End(3)).Resize(, 21).Value
ReDim arr(1 To UBound(dl), 1 To 21)
For i = 1 To UBound(dl)
  If dl(i, 1) = Sheet8.[d1] Then
    If dl(i, 4) >= Sheet8.[d2] Then
      If dl(i, 4) <= Sheet8.[d3] Then
        j = j + 1
        For ii = 1 To 21
          arr(j, ii) = dl(i, ii)
        Next
      End If
    End If
  End If
Next
Sheet8.[a6:U1000].ClearContents
Sheet8.[a6].Resize(j, 21) = arr
End Sub
 
Không chạy được anh ơi báo lỗi ở code màu đỏ

Sub loc()
Dim dl, arr(), i, j, ii
dl
= Sheet3.Range(Sheet3.[a2], Sheet3.[a65536].End(3)).Resize(, 21).Value
ReDim arr
(1 To UBound(dl), 1 To 21)
For
i = 1 To UBound(dl)
If
dl(i, 1) = Sheet8.[d1] Then
If dl(i, 4) >= Sheet8.[d2] Then
If dl(i, 4) <= Sheet8.[d3] Then
j
= j + 1
For ii = 1 To 21
arr
(j, ii) = dl(i, ii)
Next
End
If
End If
End If
Next
Sheet8
.[a6:U1000].ClearContents
Sheet8.[a6].Resize(j, 21) = arr

End Sub
 
Em làm được rồi, thanks anh ^^
 
Web KT

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

Back
Top Bottom