Rút gọn tài khoản đối ứng kế toán bằng công thức (4 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

truongvan86dh

Thành viên hoạt động
Tham gia
19/5/19
Bài viết
145
Được thích
10
Chào mọi người trên diễn đàn

Mình có File có vấn đề là mình muốn rút gọn cọt nhiều tài khoản đối ứng về một mối phân biệt bằng dấu gạch ngang hoặc chấm phẩy, dựa trên chứng từ là có phiếu thu và chi bị trùng nhau .
Mình có gửi File
Nhờ các bạn xem

Cám ơn mọi người
 

File đính kèm

Mình dùng excel 365, Bạn thử xem phải này không, vì cũng ko rõ bạn excel phiên bản nào
 

File đính kèm

Không nên gộp như vậy vì lúc làm Sổ chi tiết và CDTK rất khó
 
Nếu dùng Ex2010 thì dùng UDF (hàm tự tạo) như sau:
tại ô M5:
Mã:
=IF(OR(I5<>"",J5<>""),ghepCT(),"")
Kéo xuống

Với code của UDF như sau:
(Cách dùng: Atl-F11 mở VBA window, insert module, sau đó copy code này vào. Lưu file dạng .xlsm)
Mã:
Option Explicit
Function GhepCT() As String
Dim r&, soP As Range, TK As Range, cell As Range, phieu$, st$
Application.Volatile
r = Application.Caller.Row
If Cells(r, "I") <> "" Then
    phieu = Cells(r, "I").Value
    Set soP = Cells(r, "C").Resize(10, 1)
ElseIf Cells(r, "J") <> "" Then
    phieu = Cells(r, "J").Value
    Set soP = Cells(r, "D").Resize(10, 1)
End If
Set TK = Cells(r, "G").Resize(10, 1)
For Each cell In soP
    If cell.Value = phieu Then
        st = IIf(st = "", "", st & " - ") & Cells(cell.Row, "G").Value
    End If
Next
GhepCT = st
End Function
Lưu ý là mình gộp cả phiếu thu, nếu có trùng số PT
 

File đính kèm

Chứng từ mà "rút gọn in ấn" thì chỉ hỏi cách làm và tự làm.
Nhờ viết code cho ba cái mớ bòng bong này thì có ngày ủ tờ.
 
Nếu dùng Ex2010 thì dùng UDF (hàm tự tạo) như sau:
tại ô M5:
Mã:
=IF(OR(I5<>"",J5<>""),ghepCT(),"")
Kéo xuống

Với code của UDF như sau:
(Cách dùng: Atl-F11 mở VBA window, insert module, sau đó copy code này vào. Lưu file dạng .xlsm)
Mã:
Option Explicit
Function GhepCT() As String
Dim r&, soP As Range, TK As Range, cell As Range, phieu$, st$
Application.Volatile
r = Application.Caller.Row
If Cells(r, "I") <> "" Then
    phieu = Cells(r, "I").Value
    Set soP = Cells(r, "C").Resize(10, 1)
ElseIf Cells(r, "J") <> "" Then
    phieu = Cells(r, "J").Value
    Set soP = Cells(r, "D").Resize(10, 1)
End If
Set TK = Cells(r, "G").Resize(10, 1)
For Each cell In soP
    If cell.Value = phieu Then
        st = IIf(st = "", "", st & " - ") & Cells(cell.Row, "G").Value
    End If
Next
GhepCT = st
End Function
Lưu ý là mình gộp cả phiếu thu, nếu có trùng số PT
cho mình hỏi mình muốn áp dụng đoạn VBA này cho sheet khác thì điều chỉnh thế nào à. mình có một sheet sổ quỹ ngân hàng và 1 sheet sổ quỹ tiền mặt à
 
cho mình hỏi mình muốn áp dụng đoạn VBA này cho sheet khác thì điều chỉnh thế nào à. mình có một sheet sổ quỹ ngân hàng và 1 sheet sổ quỹ tiền mặt à
Nếu kết cấu tương tự thì dùng bình thường.
Nếu khác thì post file mới mình xem thử có dùng chung được không, không thì phải tạo thêm 1 cái UDF khác
 
Mình có post file đó .1 sheet được rồi là sheet tiền mặt. còn mình làm thử ngân hàng thì không chạy
 

File đính kèm

Trải nghiệm thử file này,
Nhập thêm các nghiệp vụ mới vào cuối sheet NhatKyChung...
Qua sheet SoChiTiet, click C6, click mũi tên bên phải cell, chọn tài khoản...
Sheet CDPS cũng tự cập nhật.
 

File đính kèm

Web KT

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

Back
Top Bottom