Code tạo mã phiếu thu chi bị lỗi.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vitcon01

Thành viên mới
Tham gia
20/1/24
Bài viết
16
Được thích
0
Chào mọi người như tiêu đề thì mình có viết đoạn code tự tạo mã phiếu thu chi mà bị lỗi ở vài trường hợp cụ thể là nếu cột B ở sheet BcThuchi rỗng thì code chạy đúng nhưng nếu ở cột B có số phiếu thu thì khi chọn loại phiếu thu thì code vẫn chạy đúng nhưng khi chọn phiếu chi thì lại báo lỗi. Hiện tại mình bị lỗi đoạn code đó nhưng không có cách khắc phục thay thế đoạn code nào khác, vì hạn chế kiến thức nên nhờ mọi người xem qua file và gợi ý hoặc sửa giúp thay thế đoạn code nào khác thay thế. Xin cảm ơn mọi người.
 

File đính kèm

  • Test_TC.xlsm
    24.3 KB · Đọc: 8
Chào mọi người như tiêu đề thì mình có viết đoạn code tự tạo mã phiếu thu chi mà bị lỗi ở vài trường hợp cụ thể là nếu cột B ở sheet BcThuchi rỗng thì code chạy đúng nhưng nếu ở cột B có số phiếu thu thì khi chọn loại phiếu thu thì code vẫn chạy đúng nhưng khi chọn phiếu chi thì lại báo lỗi. Hiện tại mình bị lỗi đoạn code đó nhưng không có cách khắc phục thay thế đoạn code nào khác, vì hạn chế kiến thức nên nhờ mọi người xem qua file và gợi ý hoặc sửa giúp thay thế đoạn code nào khác thay thế. Xin cảm ơn mọi người.
Lỗi như thế nào sao không chụp hình đưa lên thì làm sao biết được nhỉ, chắc ít người tự đi dò lỗi lắm.
 
Upvote 0
Lỗi như thế nào sao không chụp hình đưa lên thì làm sao biết được nhỉ, chắc ít người tự đi dò lỗi lắm.
Dạ nếu cột B sheet BC rỗng thì ô I6 sẽ PT20240131000001. 1706704897235.png1706704914660.png
Trường hợp cột B <> rỗng thì số phiếu thu tự cộng thêm 1.1706705018710.png
Nhưng khi mình muốn chọn qua phiếu chi tức là phiếu chi chưa có thì số phiếu chi sẽ là PC20240131000001. Mình đang bị lỗi ngay chỗ đoạn code không biết làm sao cho phiếu chi nếu cột B chưa có mã thì sẽ tự tạo mã.
 
Upvote 0
Là mình đoán mò thôi; năm trúng - năm trật!
PHP:
Sub SELECTION_()
 Dim MsgB As String
 
 If Right([C5].Value, 3) = "THU" Then
    MsgB = "Thu"
 ElseIf Right([C5].Value, 3) = "CHI" Then
    MsgB = "Chi"
 End If
    MsgBox MsgB
End Sub
 
Upvote 0
Dạ nếu cột B sheet BC rỗng thì ô I6 sẽ PT20240131000001. View attachment 298865View attachment 298866
Trường hợp cột B <> rỗng thì số phiếu thu tự cộng thêm 1.View attachment 298867
Nhưng khi mình muốn chọn qua phiếu chi tức là phiếu chi chưa có thì số phiếu chi sẽ là PC20240131000001. Mình đang bị lỗi ngay chỗ đoạn code không biết làm sao cho phiếu chi nếu cột B chưa có mã thì sẽ tự tạo mã.
Theo gợi ý của anh @SA_DQ bạn thử tham khảo code này xem sao
Mã:
Sub Test2()
Dim TenPhieu As String
    With Sh_InTC
        If .Range("C5").Value = "PHI" & ChrW(7870) & "U THU" Then
              TenPhieu = "PT"
        Else
              TenPhieu = "PC"
        End If
        If Application.WorksheetFunction.CountIf(Sh_BcThuchi.Range("B:B"), TenPhieu & "*") > 0 Then
            .Range("I6").Value = TenPhieu & Format(Date, "yyyymmdd") & Format(Val(Mid(Sh_BcThuchi.Range("B:B").Find(TenPhieu & "*"), 11)) + 1, "000000")
        Else
            .Range("I6").Value = TenPhieu & Format(Date, "yyyymmdd") & "000001"
        End If
    End With
End Sub
 
Upvote 0
Web KT
Back
Top Bottom