- Tham gia
- 12/8/06
- Bài viết
- 1,875
- Được thích
- 2,480
Cháo các bạn,
Mình có 2 Sheet DATA và THU : Sheet DATA là danh sách học sinh; Sheet THU chứa phiếu thu tiền của học sinh. Một học sinh có thể đóng tiền nhiều lần. Mình muốn số tiền thu được trong sheet THU tổng hợp lại vô Sheet DATA. Mình dùng codes sau vẫn ra kết quả nhưng chậm quá. Nếu số lượng trong Sheet THU lên cả chục nghìn dòng thì chắc nó đơ ra quá.
Mình nghĩ hoài nhưng không tìm thuật toán nào hiệu quả. Các bạn cải tiến giúp. Xin cảm ơn!
TDN
Mình có 2 Sheet DATA và THU : Sheet DATA là danh sách học sinh; Sheet THU chứa phiếu thu tiền của học sinh. Một học sinh có thể đóng tiền nhiều lần. Mình muốn số tiền thu được trong sheet THU tổng hợp lại vô Sheet DATA. Mình dùng codes sau vẫn ra kết quả nhưng chậm quá. Nếu số lượng trong Sheet THU lên cả chục nghìn dòng thì chắc nó đơ ra quá.
PHP:
Sub CapNhat()
Dim rData As Long, rThu As Long, i As Long, k As Long, l As Long
Dim MSHS As String
Dim ArrData, ArrThu
rData = S2.Range("A65536").End(xlUp).Row
rThu = S3.Range("A65536").End(xlUp).Row
ReDim ArrData(1 To rData, 1 To 15)
ArrThu = S3.Range("A5:V" & rThu)
For i = 4 To rData
MSHS = S2.Cells(i, 1)
For l = 8 To 22
For k = 1 To rThu - 4
If ArrThu(k, 4) = MSHS Then
If Len(ArrThu(k, l)) > 0 Then
ArrData(i - 3, l - 7) = ArrData(i - 3, l - 7) + ArrThu(k, l)
End If
End If
Next k
Next l
Next i
S2.Range("J4:X" & rData) = ArrData
Erase ArrData, ArrThu
End Sub
TDN