Các bạn giúp mình lập Bảng Cân Đối Tài Khoản (TB) bằng VBA với? (4 người xem)

Liên hệ QC

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

anhthuan

Thành viên hoạt động
Tham gia
10/12/06
Bài viết
106
Được thích
264
Mình có bài toán này khó qua, đau hết cả đầu mà chưa nghĩ ra. Mong các bạn chỉ dẫn cho. Bài toán như thế này:
Mình muốn làm BCĐKT bằng VBE, mình đã có đầy đủ các thông tin về nghiệp vụ kế toán phát sinh được cập nhật vào NKC và có bảng mã các TK để kiểm soát nhập liệu tài khoản trong sổ NKC. Số liệu từ NKC sẽ được đưa vào BCĐTK dựa theo mã TK ở trong danh mục TK. Trong trường hợp bảng mã TK là cố định (tức là không có sự thay đổi về mã TK) thì việc viết code cho BCĐKT quá đơn giản. Tuy nhiên trong bảng mã TK không phải là cố định, tức là tài khoản có thể được bổ sung bất kỳ (cấp 1, cấp 2...), tùy thuộc vào việc người sử dụng thêm hay bớt TK ở bảng mã TK. Nếu mình chỉ sử dụng trên bảng Excel thông thường thì mình chỉ cần chỉnh lại công thức là được. Nhưng để tiện lợi hơn mình muốn viết một macro cho BCĐTK để tổng hợp được số liệu. Nghĩ mãi mà mình vẫn chưa viết được với các điều kiện sau:

- Số liệu của TK cấp 1 sẽ là tổng của TK cấp 2, số liệu TK cấp 2 là tổng của TK cấp 3 ...
- Số liệu của TK cấp cuối cùng sẽ tính theo sumproduct của thông tin trên NKC
- Macro phải tự nhận biết được đâu là TK cấp 1, cấp 2 và cấp cuối để đặt công thức cho phù hợp

Bạn nào có giải pháp gì giải quyết được thì giúp mình với. Mình đang rất cần
Cảm ơn các bạn rất nhiều
 
anhthuan đã viết:
Mình có bài toán này khó qua, đau hết cả đầu mà chưa nghĩ ra. Mong các bạn chỉ dẫn cho. Bài toán như thế này:
Mình muốn làm BCĐKT bằng VBE, mình đã có đầy đủ các thông tin về nghiệp vụ kế toán phát sinh được cập nhật vào NKC và có bảng mã các TK để kiểm soát nhập liệu tài khoản trong sổ NKC. Số liệu từ NKC sẽ được đưa vào BCĐTK dựa theo mã TK ở trong danh mục TK. Trong trường hợp bảng mã TK là cố định (tức là không có sự thay đổi về mã TK) thì việc viết code cho BCĐKT quá đơn giản. Tuy nhiên trong bảng mã TK không phải là cố định, tức là tài khoản có thể được bổ sung bất kỳ (cấp 1, cấp 2...), tùy thuộc vào việc người sử dụng thêm hay bớt TK ở bảng mã TK. Nếu mình chỉ sử dụng trên bảng Excel thông thường thì mình chỉ cần chỉnh lại công thức là được. Nhưng để tiện lợi hơn mình muốn viết một macro cho BCĐTK để tổng hợp được số liệu. Nghĩ mãi mà mình vẫn chưa viết được với các điều kiện sau:

- Số liệu của TK cấp 1 sẽ là tổng của TK cấp 2, số liệu TK cấp 2 là tổng của TK cấp 3 ...
- Số liệu của TK cấp cuối cùng sẽ tính theo sumproduct của thông tin trên NKC
- Macro phải tự nhận biết được đâu là TK cấp 1, cấp 2 và cấp cuối để đặt công thức cho phù hợp

Bạn nào có giải pháp gì giải quyết được thì giúp mình với. Mình đang rất cần
Cảm ơn các bạn rất nhiều


Có 2 vấn đề :
  1. Tài khoản nhập vào (trong phát sinh) dứt khoát phải là TK chi tiết
  2. Bảng tổng hợp dùng SUMPRODUCT và LEN là OK ngay, tài khoản có mấy cấp cũng không quan trọng.
Thân!
 
Mr Okebab đã viết:
Tài khoản nhập vào (trong phát sinh) dứt khoát phải là TK chi tiết

Cái này thì đúng rồi. Trong sổ NKC của mình bắt buộc phải hạch toán bằng tài khoản chi tiết có cấp cuối cùng.

Mr Okebab đã viết:
Bảng tổng hợp dùng SUMPRODUCT và LEN là OK ngay, tài khoản có mấy cấp cũng không quan trọng.
Vấn đề không phải là ở công thức Sumproduct hay Len. Mà vấn đề ở đây là làm thế nào để VBA nhận biết được đâu là TK mẹ, đâu là TK con để đặt công thức cho phù hợp. Ví dụ: TK 112 có hai TK cấp con là 1121 và 1122, trong đó TK 1122 lại có thêm 2 TK cấp con nữa là 11221 và 11222. Khi đưa vào BCĐTK thì TK 112=TK1121+Tk1122, TK 1122=TK11221+TK11222. Và TK 1121 là tài khoản hạch toán trên NKC, TK 11221 và TK11222 là tài khoản hạch toán chứ không phải TK 1122. Ngoài ra khi thêm TK vào danh mục TK thì ở BCĐTK cũng phải thêm vào và đặt công thức phù hợp để tính toán.

Cam on ban rất nhiều vì đã trả lời
 
anhthuan đã viết:
Cái này thì đúng rồi. Trong sổ NKC của mình bắt buộc phải hạch toán bằng tài khoản chi tiết có cấp cuối cùng.


Vấn đề không phải là ở công thức Sumproduct hay Len. Mà vấn đề ở đây là làm thế nào để VBA nhận biết được đâu là TK mẹ, đâu là TK con để đặt công thức cho phù hợp. Ví dụ: TK 112 có hai TK cấp con là 1121 và 1122, trong đó TK 1122 lại có thêm 2 TK cấp con nữa là 11221 và 11222. Khi đưa vào BCĐTK thì TK 112=TK1121+Tk1122, TK 1122=TK11221+TK11222. Và TK 1121 là tài khoản hạch toán trên NKC, TK 11221 và TK11222 là tài khoản hạch toán chứ không phải TK 1122. Ngoài ra khi thêm TK vào danh mục TK thì ở BCĐTK cũng phải thêm vào và đặt công thức phù hợp để tính toán.

Cam on ban rất nhiều vì đã trả lời

Xin lỗi bác, vì em tưởng là Bảng CĐ số phát sinh nên nhầm.
Đúng ra nên dùng LEFT

Em VD cho bác nhé :
Cột Nợ : NO
Cột Có : CO
Cột Giá Trị : GT

Mã số 111 : Tiền mặt

=SUMPRODUCT((GT)*((left(NO;3)="111")+(left(NO;3)="112")+(left(NO;3)="113")))

Có thể công thức hơi khó hiểu, bác dịch ra từ ý nghĩa của mã số 111 : Tiền mặt ở BCĐKT thì sẽ hiểu ngay.

Khi làm công thức tổng quát ở excel rồi thì việc làm VBA là đơn giản.


Thân!
 
Mr Okebab đã viết:
Xin lỗi bác, vì em tưởng là Bảng CĐ số phát sinh nên nhầm.

Bảng Cân Đối Phát Sinh là đúng rồi, nếu xử lý được số liệu trên CĐPS thì vào số liệu cho Cân Đối Kế Toán thì đơn giản. Vấn đề của mình là nằm ở Bảng Cân Đối Phát Sinh. Giả sử mã Tài Khoản mà cố định thì đặt công thức ở Bảng Phát Sinh thì OK, nhưng trong trường hợp mã TK ở trong danh mục TK không phải là cố định (tức là có thể thêm hoặc bớt mã). Do đó kho thêm mã TK vào thì lại phải quay vào CĐPS để đặt lại công thức.

Bạn có cách nào để giải quyết vấn đề này không?
 
anhthuan đã viết:
Bảng Cân Đối Phát Sinh là đúng rồi, nếu xử lý được số liệu trên CĐPS thì vào số liệu cho Cân Đối Kế Toán thì đơn giản. Vấn đề của mình là nằm ở Bảng Cân Đối Phát Sinh. Giả sử mã Tài Khoản mà cố định thì đặt công thức ở Bảng Phát Sinh thì OK, nhưng trong trường hợp mã TK ở trong danh mục TK không phải là cố định (tức là có thể thêm hoặc bớt mã). Do đó kho thêm mã TK vào thì lại phải quay vào CĐPS để đặt lại công thức.

Bạn có cách nào để giải quyết vấn đề này không?



Viết ra thì rất dài dòng, có lẽ em sẽ gửi bác 1 File làm VD cho cái vụ BCĐKT và KQSXKD, bảng CĐSPS cho bác.


Có nhiều cho còn chưa đầy đủ, đây chỉ là phương pháp. Bác tham khảo nhé.
 

File đính kèm

sao em tải file này về mà không mở được nhỉ. Nhờ các tiền bối chỉ giúp em với !
 
Web KT

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

Back
Top Bottom