nguyet1982db
Thành viên chính thức


- Tham gia
- 10/12/14
- Bài viết
- 92
- Được thích
- 4
Hàm đây bạn.Mong các bác giúp đỡ viết hàm thống kê các báo cáo đến hạn theo điều kiện (Em đã ghi chi tiết trong file đính kèm)! Rất mong được giúp đỡ
Function laydulieu(ByVal dk As String, ParamArray mang())
Dim arr, i As Long, kq(1 To 1000, 1 To 3) As String, data, a As Long
For Each data In mang
arr = data.Value
For i = 1 To UBound(arr)
If dk = arr(i, 3) Then
a = a + 1
kq(a, 1) = a
kq(a, 2) = arr(i, 2)
kq(a, 3) = arr(i, 3)
End If
Next i
Next
laydulieu = kq
End Function
=laydulieu(C6,DATA1!$A$5:$C$10,DATA2!A5:C12,DATA3!A5:C13)
1 cách:Mong các bác giúp đỡ viết hàm thống kê các báo cáo đến hạn theo điều kiện (Em đã ghi chi tiết trong file đính kèm)! Rất mong được giúp đỡ
Sub Test()
Application.ScreenUpdating = False
Dim Sh As Worksheet, a(), KQ(), dk As Date, i, k
ReDim KQ(1 To 6500, 1 To 3)
dk = Sheets("TK").Range("C6").Value
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "TK" Then
If Sh.Range("A6500").End(xlUp).Row > 4 Then
a = Sh.Range("A5", Sh.Range("A6500").End(xlUp)).Resize(, 3).Value
For i = 1 To UBound(a)
If a(i, 3) = dk Then
k = k + 1
KQ(k, 1) = k: KQ(k, 2) = a(i, 2): KQ(k, 3) = a(i, 3)
End If
Next
End If
End If
Next
With Sheets("TK")
.Range("A7").Resize(6500, 3).ClearContents
.Range("A7").Resize(6500, 3).Borders.LineStyle = 0
If k Then
.Range("A7").Resize(k, 3) = KQ
.Range("A7").Resize(k, 3).Borders.LineStyle = 1
End If
End With
End Sub
Em cám ơn bác nhiều ạĐây bạn thử xem sao ?
Cái này sửa lại code thôi
Điều quan trọng là số liệu đầu vào phải chuẩn, nếu không thì khó cho việc xử lý dữ liệu lắm.Lời đầu tiên em xin gửi lời cám ơn chân thành đến bác: vanaccex, phulien1902, @Hieu042, @snow25 rất nhiều vì đã giúp đỡ em trong bài tập trên, tuy nhiên trong quá trình triển khai cho công việc em lại gặp khó khăn về trường dữ liệu ngày/tháng không giống nhau. Ví vụ như file em đính kèm tại các sheet có trường ngày tháng giống nhau thì không sao, nhưng có một số sheet các kỳ báo cáo hàng tháng lại chỉ ghi báo cáo vào ngày 10 tháng báo cáo hoặc ngày 10 tháng cuối quý báo cáo lại không được, mong các bác tư vấn và giúp đỡ làm như thế nào để khi nhập điều kiện thì nó hiện trên bảng TK. Một lần nữa em xin chân thành cám ơn các bác