Đánh số thứ thự phiếu thu chi (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

HangktGTN

Thành viên mới
Tham gia
13/8/25
Bài viết
2
Được thích
0
Chào cả nhà. Mong cả nhà chỉ giúp em cách đánh số thứ tự phiếu thu, chi, chứng từ ngân hàng theo thnags khi mình dùng filter ạ. Em cảm ơn!
 
Chào cả nhà. Mong cả nhà chỉ giúp em cách đánh số thứ tự phiếu thu, chi, chứng từ ngân hàng theo thnags khi mình dùng filter ạ. Em cảm ơn!
Đây bạn ạ. Mình muống đánh số thứ thự các phiếu thu, chi theo tháng. vì khi làm mình nhập 1 loaajt, giờ filter lại để lọc nhưng lại k kéo tăng số thứ tự được ạ
 

File đính kèm

ABC
1NgàyPhiếuSố
21/1/2025PCPC01001
31/1/2025PTPT01001
41/2/2025PCPC01002
51/2/2025PTPT01002
62/9/2025PKTPKT02001
73/1/2025PKTPKT03001
83/5/2025PKTPKT03002
93/20/2025PKTPKT03003
103/31/2025PKTPKT03004
Nếu ý tưởng của bạn là ra kết quả như thế này thì có thể thêm cột phụ loại phiếu và áp dụng công thức cho cả cột số phiếu: =B2&TEXT(MONTH(A2),"00")&TEXT(COUNTIFS(B$1:B2,B2,A$1:A2,">="&DATE(YEAR(A2),MONTH(A2),1),A$1:A2,"<"&EOMONTH(A2,0)+1),"000")
 
Mình có ý tưởng đánh phiếu thu chi tăng theo ngày của từng loại phiếu:


1755121866884.png
[Cột mã phiếu là cột mình mong muốn]
Mong muốn này của mình được Copilot thỏa đáng như macro dưới đây:

PHP:
Sub TaoMaPhieu()
    Dim lastRow As Long,   i As Long, j As Long
    Dim ngay As Date
    Dim namMa As String, thangMa As String, ngayMa As String, loaiMa As String
    Dim soThuTu As String
    Dim countSame As Integer

    lastRow = Cells(Rows.Count, "A").End(xlUp).Row

    For i = 2 To lastRow
        If IsDate(Cells(i, 1).Value) Then
            ngay = Cells(i, 1).Value           
            ' Mã nam  '
            Select Case Year(ngay)
                Case 2025: namMa = "E"
                Case 2026: namMa = "F"
                Case Else: namMa = "?"
            End Select           
            ' Mã tháng   '
            Select Case Month(ngay)
                Case 10: thangMa = "A"
                Case 11: thangMa = "B"
                Case Else: thangMa = CStr(Month(ngay))
            End Select           
            ' Mã ngày   '
            Select Case Day(ngay)
                Case 19: ngayMa = "J"
                Case Else: ngayMa = CStr(Day(ngay))
            End Select           
            ' Mã lo?i phi?u   '
            Select Case Cells(i, 2).Value
                Case "PC_": loaiMa = "C"
                Case "PT_": loaiMa = "T"
                Case "PCK": loaiMa = "CK"
                Case Else: loaiMa = "?"
            End Select           
            ' Ð?m s? dòng tru?c dócó cùng ngày và lo?i phi?u   '
            countSame = 0
            For j = 2 To i
                If Cells(j, 1).Value = Cells(i, 1).Value And Cells(j, 2).Value = Cells(i, 2).Value Then
                    countSame = countSame + 1
                End If
            Next j           
            ' S? th? t? d?ng 3 ch? s?   '
            soThuTu = Format(countSame, "000"
            ' Ghi mã phi?u vào c?t C   '
            Cells(i, 3).Value = namMa & thangMa & ngayMa & loaiMa & "_" & soThuTu
        End If
    Next i
    MsgBox "Ðã t?o mã phi?u xong!", vbInformation
End Sub
 

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

Back
Top Bottom