Xin hỏi về code: Liệt kê chứng từ thanh toán

Liên hệ QC

tam8678

Đời Xá Chi
Tham gia
30/4/09
Bài viết
417
Được thích
301
Nghề nghiệp
Kế toán
Rất mong các anh em xem và giúp dùm code để liệt kê chứng từ thanh toán. Mong muốn được ghi rõ trong file đính kèm. Cám ơn
 

File đính kèm

  • ABC-A.xls
    24.5 KB · Đọc: 15
Rất mong các anh em xem và giúp dùm code để liệt kê chứng từ thanh toán. Mong muốn được ghi rõ trong file đính kèm. Cám ơn
Anh cho em hỏi vài cái:
Dữ liệu luôn được sắp xếp theo từng khách hàng như file anh gửi hay có thể lộn xộn?
Một khách khàng có thể có nhiều hóa đơn không? Tiền thanh toán cũng được sắp sếp theo từng hóa đơn hay lộn xộn?
Nếu phát sinh thêm thì anh gửi thêm một file dữ liệu tổng quát hơn thử nhé :D
 
Upvote 0
Anh cho em hỏi vài cái:
Dữ liệu luôn được sắp xếp theo từng khách hàng như file anh gửi hay có thể lộn xộn?
Một khách khàng có thể có nhiều hóa đơn không? Tiền thanh toán cũng được sắp sếp theo từng hóa đơn hay lộn xộn?
Nếu phát sinh thêm thì anh gửi thêm một file dữ liệu tổng quát hơn thử nhé :D
---
Dữ liệu đã được xử lý trước nên luôn được sắp xếp theo từng khách hàng.
Một khách hàng có nhiều hóa đơn. Tiền thanh toán cũng được sắp xếp theo từng hóa đơn.
File đính kèm bài trên do anh đã xử lý đến bước đó rồi. Cám ơn em đã xem.
 
Upvote 0
---
Dữ liệu đã được xử lý trước nên luôn được sắp xếp theo từng khách hàng.
Một khách hàng có nhiều hóa đơn. Tiền thanh toán cũng được sắp xếp theo từng hóa đơn.
File đính kèm bài trên do anh đã xử lý đến bước đó rồi. Cám ơn em đã xem.
Anh chạy code này thử nha.
PHP:
Sub LietKe()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim MyRng As Range, MyCll As Range, FindCll As Range, FirstAdd As String, OldData, NewData(), i As Long
Set MyRng = Range([C1], [A65536].End(xlUp).Offset(1, 2))
MyRng.Offset(, 4).Resize(, 250).ClearContents
Set FindCll = [C1]
Set MyCll = MyRng.Find("", FindCll, , xlWhole, , xlNext)
Set FindCll = MyCll
FirstAdd = FindCll.Address
Do Until MyRng.FindNext(FindCll).Address = FirstAdd
    Set MyCll = MyRng.FindNext(FindCll)
    If MyCll.Row - 1 > FindCll Then
        OldData = Range(FindCll.Offset(1), MyCll.Offset(-1, 1)).Value
        ReDim NewData(1 To 1, 1 To UBound(OldData, 1) * 2)
        For i = 1 To UBound(OldData, 1)
            NewData(1, (i - 1) * 2 + 1) = OldData(i, 1)
            NewData(1, i * 2) = OldData(i, 2)
        Next
        FindCll.Offset(, 4).Resize(, UBound(OldData, 1) * 2).Value = NewData
    End If
    Set FindCll = MyCll
Loop
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
 

File đính kèm

  • ABC-A.rar
    10.5 KB · Đọc: 34
Upvote 0
Web KT
Back
Top Bottom