HD viết code phân bổ thu nợ!

Liên hệ QC

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên đã mất
Tham gia
16/8/06
Bài viết
3,808
Được thích
4,449
Có vấn đề như sau:
Do KH chỉ TT tổng số tiền mà không theo PBH cụ thể.
Cty bán hàng theo những PBH và theo ngày
- PBH01 - 01/03: 200
- PBH02 - 03/03: 300
Và thu như sau
- PT01 - 05/03: 100
- PT02 - 07/03: 250
Vậy phải phân bổ như sau
- PBH01 - 01/03: 200 PT01: 100
- PBH01 - 01/03: ---- PT01: 100
- PBH02 - 03/03: 300 PT02: 250
Nhờ các bạn HD cách viết code phân bổ số tiền thu theo từng lần bán hàng.
Yêu cầu là tại sh BaoCao.
Xin cám ơn!
 

File đính kèm

  • ViduThuNo.xls
    17.5 KB · Đọc: 20
Các bạn, các anh tranh thủ viết giúp code cho bài trên hay là hướng dẫn thuật toán cũng được.
Cám ơn rất nhiều!
 
Upvote 0
Lâu lắm rồi mà chưa ai trả lời giúp.
Tôi vận dụng bài toán chia kẹo do RollOver viết code cho nhưng với TH 2 bên Thu và No bằng nhau.
Tôi thử với TH Thu < No thì OK
Nhưng TH No > Thu thì vận dụng chưa được.
yêu càu và KQ ở sh Tmp. Data đã dc sort theo SoHD và NgayHD.
KQ sẽ hiển thị ở H:L.
Nhờ các bạn triển khai giúp phần ngược lại.
Xin cám ơn.
PHP:
Dim curCho&, curNhan&
Dim curSLCho As Double, curSLNhan As Double
Dim curSLChoDu As Double, curSLNhanThieu As Double, SLChia As Double
Dim ArrNo, ArrCo, ArrKQ
Dim STNo, STCo
Dim iCo&, iNo&
Sub TinhToan()
With Sheets("Tmp")
  ArrNo = .Range("A3:D6").Value
  ArrCo = .Range("A7:E11").Value
End With
ReDim ArrKQ(1 To 1000, 1 To 10)
curCho = 0: curNhan = 0: s = 1
curSLNhanThieu = 0: curSLChoDu = 0: SLChia = 0
'Chua xong phan neu thu > tien ban
  Do While Not (curCho = UBound(ArrCo) And curSLChoDu = 0)
'    If curNhan = UBound(ArrNo) Then
'      'MsgBox curSLChoDu
'      GoTo Next_For01
'    End If
    If curSLChoDu = 0 Then
      curCho = curCho + 1
      curSLCho = ArrCo(curCho, 5)
      curSLChoDu = curSLCho
    End If
    If curSLNhanThieu = 0 Then
      curNhan = curNhan + 1
      curSLNhan = ArrNo(curNhan, 4)
      curSLNhanThieu = curSLNhan
    End If
    If curSLChoDu <= curSLNhanThieu Then
      SLChia = curSLChoDu
    Else
      SLChia = curSLNhanThieu
    End If
    ArrKQ(s, 1) = ArrNo(curNhan, 1) 'SoPBH
    ArrKQ(s, 5) = ArrCo(curCho, 1) 'SoCT
    ArrKQ(s, 2) = SLChia 'So tien
    ArrKQ(s, 3) = SLChia 'So tien
    curSLChoDu = curSLChoDu - SLChia
    curSLNhanThieu = curSLNhanThieu - SLChia
    s = s + 1
  Loop
If curNhan <= UBound(ArrNo) Then
  'Lay dong so bh ma chua TT het
  s = s - 1
  ArrKQ(s, 1) = ArrNo(curNhan, 1) 'SoPBH
  ArrKQ(s, 2) = curSLNhanThieu 'So tien PBH chua TT
  For i = curNhan + 1 To UBound(ArrNo)
    s = s + 1
    ArrKQ(s, 1) = ArrNo(i, 1) 'SoPBH
    ArrKQ(s, 2) = ArrNo(i, 4)  'So tien PBH chua TT
  Next i
  GoTo Next_For02
End If
Next_For01:
'TH nay la so tien thu > so tien ban
'If curSLChoDu <= 0 Then
'  curCho = curCho + 1
'  curSLCho = ArrCo(curCho, 5)
'  curSLChoDu = curSLCho - curSLNhanThieu
'  ArrKQ(s, 1) = ArrNo(curNhan, 1) 'SoPBH
'  ArrKQ(s, 2) = curSLNhanThieu 'So tien PBH da TT
'  ArrKQ(s, 3) = curSLNhanThieu 'So tien TT
'  ArrKQ(s, 5) = ArrCo(curCho, 1)  'SoCT
'  s = s + 1
'  ArrKQ(s, 3) = curSLChoDu 'So tien TT
'  ArrKQ(s, 5) = ArrCo(curCho, 1)  'SoCT
'End If
'If curCho <= UBound(ArrCo) Then
'  For i = curCho + 1 To UBound(ArrCo)
'    s = s + 1
'    ArrKQ(s, 5) = ArrCo(i, 1) 'SoPT
'    ArrKQ(s, 3) = ArrCo(i, 5)  'So tien PT thanh toan > PBH
'  Next i
'End If

Next_For02:
With Sheets("Tmp")
  .[H3].Resize(1000, 5).ClearContents
  .[H3].Resize(s, 5) = ArrKQ
End With
End Sub
 

File đính kèm

  • ViduThuNo2.rar
    9.7 KB · Đọc: 21
Upvote 0
Em lỡ làm theo mẫu cũ của anh rồi. Xem lại thấy mẫu bảng kết quả mới khác mẫu cũ nhưng lười sửa lại quá. Anh tự sửa lại nhé.
 

File đính kèm

  • ViduThuNo.rar
    12.5 KB · Đọc: 32
Upvote 0
Em lỡ làm theo mẫu cũ của anh rồi. Xem lại thấy mẫu bảng kết quả mới khác mẫu cũ nhưng lười sửa lại quá. Anh tự sửa lại nhé.
Cám ơn Thắng nhiều, chờ Thắng hoài chả thấy nên tự viết nhưng code quá dài. Code của Thắng ngắn và hay. Đang nghiên cứu để vận dụng.
A cũng vừa làm xong, đúng như yêu cầu nhưng phải làm 2 code, nếu Thu > No và nếu No > Thu... Nói chung làm rườm rà. Thôi cũng đưa lên tham khảo. A dùng sh tmp vì đó là kq xử lý 1 lần nó mới ra tmp.
PHP:
Dim curSLCho As Double, curSLNhan As Double
Dim curSLChoDu As Double, curSLNhanThieu As Double, SLChia As Double
Dim curSLChoThieu As Double, curSLNhanDu As Double
Dim Arr, ArrNo, ArrCo, ArrKQ
Dim STNo As Double, STCo As Double
Dim i&, k&, s&, endR&, iCo&, iNo&
Dim curCho&, curNhan&, sodongNo&, sodongCo&
'Phan nay la dau vao
Const cSoCT = 1: Const cNgCT = 2: Const cMaKH = 3: Const cNo = 4: Const cCo = 5
'Phan nay danh cho ket qua
Const colSoPBH = 1: Const colNgBH = 2: Const colStBan = 3
Const colStThu = 4: Const colSoPT = 5: Const colNgPT = 6

Sub TaoKQ()
TaoArr
If STNo >= STCo Then
  TinhToan01
Else
  TinhToan02
End If
With Sheets("Tmp")
  .[H3].Resize(1000, 6).ClearContents
  .[H3].Resize(s, 6) = ArrKQ
End With
Erase Arr, ArrNo, ArrCo, ArrKQ
End Sub
Sub TinhToan01()
ReDim ArrKQ(1 To 1000, 1 To 10)
curCho = 0: curNhan = 0: s = 0
curSLNhanThieu = 0: curSLChoDu = 0: SLChia = 0
'TH nay la thu < tien ban
Do While Not (curCho = sodongCo And curSLChoDu = 0)
  s = s + 1
  If curSLChoDu = 0 Then
    curCho = curCho + 1
    curSLCho = ArrCo(curCho, cCo)
    curSLChoDu = curSLCho
  End If
  If curSLNhanThieu = 0 Then
    curNhan = curNhan + 1
    curSLNhan = ArrNo(curNhan, cNo)
    curSLNhanThieu = curSLNhan
  End If
  If curSLChoDu <= curSLNhanThieu Then
    SLChia = curSLChoDu
  Else
    SLChia = curSLNhanThieu
  End If
  ArrKQ(s, colSoPBH) = ArrNo(curNhan, cSoCT) 'SoPBH
  ArrKQ(s, colNgBH) = ArrNo(curNhan, cNgCT) 'NgayPBH
  ArrKQ(s, colNgPT) = ArrCo(curCho, cNgCT) 'NgayPT
  ArrKQ(s, colSoPT) = ArrCo(curCho, cSoCT) 'SoPT
  ArrKQ(s, colStBan) = SLChia 'So tien
  ArrKQ(s, colStThu) = SLChia 'So tien
  curSLChoDu = curSLChoDu - SLChia
  curSLNhanThieu = curSLNhanThieu - SLChia
Loop
If curNhan <= sodongNo Then
  If curSLNhanThieu > 0 Then
    'Lay dong so bh ma chua TT het
    s = s + 1
    ArrKQ(s, colSoPBH) = ArrNo(curNhan, cSoCT) 'SoPBH
    ArrKQ(s, colNgBH) = ArrNo(curNhan, cNgCT) 'NgayPBH
    ArrKQ(s, colStBan) = curSLNhanThieu 'So tien PBH chua TT
  End If
  For i = curNhan + 1 To sodongNo
    s = s + 1
    ArrKQ(s, colSoPBH) = ArrNo(i, cSoCT) 'SoPBH
    ArrKQ(s, colNgBH) = ArrNo(i, cNgCT) 'NgayPBH
    ArrKQ(s, colStBan) = ArrNo(i, cNo)  'So tien PBH chua TT
  Next i
End If
End Sub

Sub TinhToan02()
'TH nay la so tien thu > so tien ban
ReDim ArrKQ(1 To 1000, 1 To 10)
curCho = 0: curNhan = 0: s = 0
curSLChoThieu = 0: curSLNhanDu = 0
  Do While Not (curNhan = sodongNo And curSLNhanDu = 0)
    s = s + 1
    If curSLNhanDu = 0 Then
      curNhan = curNhan + 1
      curSLNhan = ArrNo(curNhan, cNo)
      curSLNhanDu = curSLNhan
    End If
    If curSLChoThieu = 0 Then
      curCho = curCho + 1
      curSLCho = ArrCo(curCho, cCo)
      curSLChoThieu = curSLCho
    End If
    If curSLNhanDu <= curSLChoThieu Then
      SLChia = curSLNhanDu
    Else
      SLChia = curSLChoThieu
    End If
    ArrKQ(s, colSoPBH) = ArrNo(curNhan, cSoCT) 'SoPBH
    ArrKQ(s, colNgBH) = ArrNo(curNhan, cNgCT) 'Ngay PBH
    ArrKQ(s, colNgPT) = ArrCo(curCho, cSoCT) 'NgayPT
    ArrKQ(s, colSoPT) = ArrCo(curCho, cNgCT) 'SoPT
    
    ArrKQ(s, colStBan) = SLChia 'So tien
    ArrKQ(s, colStThu) = SLChia 'So tien
    curSLNhanDu = curSLNhanDu - SLChia
    curSLChoThieu = curSLChoThieu - SLChia
  Loop
If curCho <= sodongCo Then
  If curSLChoThieu > 0 Then
    'Lay dong so bh ma chua TT het
    s = s + 1
    
    ArrKQ(s, colStThu) = curSLChoThieu 'So tien TT con du
    ArrKQ(s, colNgPT) = ArrCo(curCho, cNgCT) 'Ngay PT
    ArrKQ(s, colSoPT) = ArrCo(curCho, cSoCT) 'So PT
    
  End If
  For i = curCho + 1 To sodongCo
    s = s + 1
    ArrKQ(s, colSoPT) = ArrCo(i, cSoCT) 'SoPT
    ArrKQ(s, colNgPT) = ArrCo(curCho, cNgCT) 'Ngay PT
    ArrKQ(s, colStThu) = ArrCo(i, cCo)  'So tien TT
  Next i
End If
End Sub

Sub TaoArr()
With Sheets("Tmp")
  endR = .Cells(65000, 1).End(3).Row
  Arr = .Range("A3:G" & endR).Value
End With
ReDim ArrNo(1 To UBound(Arr), 1 To 4)
ReDim ArrCo(1 To UBound(Arr), 1 To 5)
sodongNo = 0: sodongCo = 0
STNo = 0: STCo = 0
For i = 1 To UBound(Arr)
  'gan vao ArrNO - phan PBH
  If Arr(i, cNo) > 0 Then
    sodongNo = sodongNo + 1
    For k = 1 To cNo
      ArrNo(sodongNo, k) = Arr(i, k)
    Next k
    STNo = STNo + Arr(i, cNo)
  End If
  'gan vao ArrCO - phan Thu tien
  If Arr(i, cCo) > 0 Then
    sodongCo = sodongCo + 1
    For k = 1 To cCo
      ArrCo(sodongCo, k) = Arr(i, k)
    Next k
  End If
  STCo = STCo + Arr(i, cCo)
Next i
End Sub
 

File đính kèm

  • ViduThuNo-TN.xls
    44.5 KB · Đọc: 21
Upvote 0
Bữa giờ lu bu em cũng không thấy bài anh hỏi. Mới thấy hôm qua khi anh post bài #3
Code của anh gán nhầm giữa cột SoPT và NgayPT khi tổng số thu lớn hơn tổng số nợ.
 
Lần chỉnh sửa cuối:
Upvote 0
Cho em hỏi trong Code của anh Thắng
PHP:
Sub ThuNo()
Dim ArrData, ArrKQ(), DicNo, DicThu, i As Long, j As Long, k As Long, TTNo As Long, TTThu As Long, iT As Long, Tmp As Double
BaoCao.UsedRange.Offset(1).ClearContents
Set DicNo = CreateObject("Scripting.Dictionary")
Set DicThu = CreateObject("Scripting.Dictionary")
ArrData = Data.Range(Data.[E3], Data.[A65536].End(xlUp)).Value
For i = 1 To UBound(ArrData, 1)
    If ArrData(i, 4) > 0 Then
        TTNo = TTNo + 1
        DicNo.Add TTNo, i
    ElseIf ArrData(i, 5) > 0 Then
        TTThu = TTThu + 1
        DicThu.Add TTThu, i
    End If
Next
iT = 1
For i = 1 To TTNo
    k = k + 1
    ReDim Preserve ArrKQ(1 To 7, 1 To k)
    ArrKQ(4, k) = ArrData(DicNo.Item(i), 4)
    If iT > TTThu Then
        ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
        ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
        ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
    Else
        For j = iT To TTThu
            If ArrData(DicNo.Item(i), 4) = ArrData(DicThu.Item(iT), 5) Then
                ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
                ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
                ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
                ArrKQ(5, k) = ArrData(DicThu.Item(j), 5)
                ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
                ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
                iT = iT + 1
                GoTo NextHD
            ElseIf ArrData(DicNo.Item(i), 4) < ArrData(DicThu.Item(j), 5) Then
                ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
                ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
                ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
                ArrKQ(5, k) = ArrData(DicNo.Item(i), 4)
                ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
                ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
                ArrData(DicThu.Item(j), 5) = ArrData(DicThu.Item(j), 5) - ArrData(DicNo.Item(i), 4)
                GoTo NextHD
            Else
                ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
                ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
                ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
                ArrKQ(5, k) = ArrData(DicThu.Item(j), 5)
                ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
                ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
                ArrData(DicNo.Item(i), 4) = ArrData(DicNo.Item(i), 4) - ArrData(DicThu.Item(j), 5)
                iT = iT + 1
                If iT > TTThu Then GoTo NextHD
                k = k + 1
                ReDim Preserve ArrKQ(1 To 7, 1 To k)
            End If
        Next
    End If
NextHD:
Next
If iT <= TTThu Then
    For j = iT To TTThu
        k = k + 1
        ReDim Preserve ArrKQ(1 To 7, 1 To k)
        ArrKQ(5, k) = ArrData(DicThu.Item(j), 5)
        ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
        ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
    Next
End If
ArrKQ = Application.WorksheetFunction.Transpose(ArrKQ)
BaoCao.[A3].Resize(UBound(ArrKQ, 1), 7).Value = ArrKQ
BaoCao.[D2:E2].FormulaR1C1 = "=SUM(R[1]C:R[" & UBound(ArrKQ, 1) & "]C)"
End Sub

Đoạn BaoCao.UsedRange.Offset(1) có nghĩa là gì thế ah?
 
Upvote 0
Cho em hỏi trong Code của anh Thắng
PHP:
Sub ThuNo()
Dim ArrData, ArrKQ(), DicNo, DicThu, i As Long, j As Long, k As Long, TTNo As Long, TTThu As Long, iT As Long, Tmp As Double
BaoCao.UsedRange.Offset(1).ClearContents
Set DicNo = CreateObject("Scripting.Dictionary")
Set DicThu = CreateObject("Scripting.Dictionary")
ArrData = Data.Range(Data.[E3], Data.[A65536].End(xlUp)).Value
For i = 1 To UBound(ArrData, 1)
    If ArrData(i, 4) > 0 Then
        TTNo = TTNo + 1
        DicNo.Add TTNo, i
    ElseIf ArrData(i, 5) > 0 Then
        TTThu = TTThu + 1
        DicThu.Add TTThu, i
    End If
Next
iT = 1
For i = 1 To TTNo
    k = k + 1
    ReDim Preserve ArrKQ(1 To 7, 1 To k)
    ArrKQ(4, k) = ArrData(DicNo.Item(i), 4)
    If iT > TTThu Then
        ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
        ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
        ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
    Else
        For j = iT To TTThu
            If ArrData(DicNo.Item(i), 4) = ArrData(DicThu.Item(iT), 5) Then
                ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
                ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
                ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
                ArrKQ(5, k) = ArrData(DicThu.Item(j), 5)
                ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
                ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
                iT = iT + 1
                GoTo NextHD
            ElseIf ArrData(DicNo.Item(i), 4) < ArrData(DicThu.Item(j), 5) Then
                ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
                ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
                ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
                ArrKQ(5, k) = ArrData(DicNo.Item(i), 4)
                ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
                ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
                ArrData(DicThu.Item(j), 5) = ArrData(DicThu.Item(j), 5) - ArrData(DicNo.Item(i), 4)
                GoTo NextHD
            Else
                ArrKQ(1, k) = ArrData(DicNo.Item(i), 1)
                ArrKQ(2, k) = ArrData(DicNo.Item(i), 2)
                ArrKQ(3, k) = ArrData(DicNo.Item(i), 3)
                ArrKQ(5, k) = ArrData(DicThu.Item(j), 5)
                ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
                ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
                ArrData(DicNo.Item(i), 4) = ArrData(DicNo.Item(i), 4) - ArrData(DicThu.Item(j), 5)
                iT = iT + 1
                If iT > TTThu Then GoTo NextHD
                k = k + 1
                ReDim Preserve ArrKQ(1 To 7, 1 To k)
            End If
        Next
    End If
NextHD:
Next
If iT <= TTThu Then
    For j = iT To TTThu
        k = k + 1
        ReDim Preserve ArrKQ(1 To 7, 1 To k)
        ArrKQ(5, k) = ArrData(DicThu.Item(j), 5)
        ArrKQ(6, k) = ArrData(DicThu.Item(j), 1)
        ArrKQ(7, k) = ArrData(DicThu.Item(j), 2)
    Next
End If
ArrKQ = Application.WorksheetFunction.Transpose(ArrKQ)
BaoCao.[A3].Resize(UBound(ArrKQ, 1), 7).Value = ArrKQ
BaoCao.[D2:E2].FormulaR1C1 = "=SUM(R[1]C:R[" & UBound(ArrKQ, 1) & "]C)"
End Sub

Đoạn BaoCao.UsedRange.Offset(1) có nghĩa là gì thế ah?

Tôi muốn xóa dữ liệu nhưng chừa lại dòng tiêu đề (dòng 1)
 
Upvote 0
Đúng là bài toán khó, hình dung mãi mà chưa ra vấn đề.

Bác Thắng cho em hỏi ý nghĩa của biến iT trong Code của bác mục đích dùng để làm gì thế? (khi chạy hết vòng lặp thấy nó bằng 5 mà em không hiểu là gì)
-------------
Em chạy Code bấm F8 nhưng vẫn không hiểu sheetBaoCao tại ô (D4=500.000) nó được điền thông qua dòng nào, vì theo em hiểu do có dòng
PHP:
ArrData(DicNo.Item(i), 4) = ArrData(DicNo.Item(i), 4) - ArrData(DicThu.Item(j), 5)
nó đã tụt từ 500.000 xuống 50.000 (ArrData(DicNo.Item(i), 4)=500.000-450.000) rồi mà.

Vậy giá trị 500.000 lúc nào nó điền vào ô D4 lúc nào nhỉ?
 
Lần chỉnh sửa cuối:
Upvote 0
Đúng là bài toán khó, hình dung mãi mà chưa ra vấn đề.

Bác Thắng cho em hỏi ý nghĩa của biến iT trong Code của bác mục đích dùng để làm gì thế? (khi chạy hết vòng lặp thấy nó bằng 5 mà em không hiểu là gì)
Biến iT dùng để đếm số lần thu nợ đã bù trừ với nợ. Trong file ví dụ, khi bạn chạy hết code thấy iT bằng 5 có nghĩa là đến phiếu thu số PT5 là đã thu hết nợ (hoặc PT5 là phiếu thu cuối cùng).
Em chạy Code bấm F8 nhưng vẫn không hiểu sheetBaoCao tại ô (D4=500.000) nó được điền thông qua dòng nào, vì theo em hiểu do có dòng
PHP:
ArrData(DicNo.Item(i), 4) = ArrData(DicNo.Item(i), 4) - ArrData(DicThu.Item(j), 5)
nó đã tụt từ 500.000 xuống 50.000 (ArrData(DicNo.Item(i), 4)=500.000-450.000) rồi mà.

Vậy giá trị 500.000 lúc nào nó điền vào ô D4 lúc nào nhỉ?
Bạn xem cuối code, cái tôi gán xuống Sheet là ArrKQ chứ không phải ArrData. Giá trị tại D3 = 500.000 được thực hiện bằng dòng lệnh này:
PHP:
ArrKQ(4, k) = ArrData(DicNo.Item(i), 4)
 
Upvote 0
Web KT
Back
Top Bottom