Phân bổ dư nợ khi vượt hạn mức - nhờ xử lý bằng VBA (1 người xem)

Liên hệ QC

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

caovanhau1507

Thành viên chính thức
Tham gia
17/7/12
Bài viết
79
Được thích
3
Chào các anh chị GPE,

Hiện e cần tính toán lại dư nợ khi phát sinh lỗi hạn mức, nhưng do phải tính toán lại 1 khoảng tgian dài nên tính tay trở nên bất tiện, em dùng macro thì file hơi nặng nên nhờ các anh chị hướng dẫn em code VBA để tiện dùng lâu dài và nâng cao kỹ năng.

Nội dung tính toán như sau:
A. Data gốc gồm có nợ và danh mục sản phẩm trong 2 sheet "Nợ" và "Danh mục";
B. Sheet "Cấn nợ" chia làm 3 phần theo thứ tự:
1. Tính nợ cấn trên từng sản phẩm:
- Nợ cấn trên sản phẩm = nợ của KH * tỉ trọng sản phẩm trong danh mục của KH;
2. Kiểm tra dư nợ từng sản phẩm có vượt hạn mức không?
- Nếu phát sinh dư nợ vượt hạn mức cho phép thì tiến hành phân bổ lại dư nợ;
3. Thực hiện phân bổ lại dư nợ
- Nguyên tắc phân bổ: dư nợ đc phân bổ từ những sản phẩm có dư nợ cao sang những sản phẩm có dư nợ thấp;
- Thao tác:
+ sắp xếp lại danh mục của KH theo mã hàng có dư nợ từ thấp nhất đến cao nhất;
+ Dư nợ phân bổ hết cho giá trị sản phẩm theo thứ tự đã sắp xếp, nếu tổng tài sản < nợ thì phần còn thiếu sẽ phân bổ vào sản phẩm cuối cùng.
C. Kết quả trả về như thiết kế trên sheet "Cấn nợ";
***Trường hợp sau cấn nợ mà kết quả trả về xấu hơn trước đó (như file đính kèm) là có thể xảy ra

Nhờ các anh chị giúp đỡ.

Em cảm ơn nhiều.
 

File đính kèm

Dài và nhiều thế này thì ai rảnh giúp bạn đây?, tự mình lo trước đi: bạn phải hỏi từ từ từng phần, còn quăng 1 đống thế này thì cũng mệt người giúp
 
Thank a đã quan tâm,
Bài toán này nó đi liên tục từ đầu đến cuối, ko làm đoạn đầu thì đoạn cuối ko làm đc, còn nếu e tách ra 2 phần để hỏi thì đôi lúc các anh chị lại thấy khó chịu vì ko đưa ra 1 lần tổng thể mà cắt nhỏ làm code ko tối ưu.
Em đưa ra nguyên bài tổng thể, a có thể xử lý từng phần giúp e cũng đc mà :D
 
Chào các anh chị GPE,

Hiện e cần tính toán lại dư nợ khi phát sinh lỗi hạn mức, nhưng do phải tính toán lại 1 khoảng tgian dài nên tính tay trở nên bất tiện, em dùng macro thì file hơi nặng nên nhờ các anh chị hướng dẫn em code VBA để tiện dùng lâu dài và nâng cao kỹ năng.

Nội dung tính toán như sau:
A. Data gốc gồm có nợ và danh mục sản phẩm trong 2 sheet "Nợ" và "Danh mục";
B. Sheet "Cấn nợ" chia làm 3 phần theo thứ tự:
1. Tính nợ cấn trên từng sản phẩm:
- Nợ cấn trên sản phẩm = nợ của KH * tỉ trọng sản phẩm trong danh mục của KH;
2. Kiểm tra dư nợ từng sản phẩm có vượt hạn mức không?
- Nếu phát sinh dư nợ vượt hạn mức cho phép thì tiến hành phân bổ lại dư nợ;
3. Thực hiện phân bổ lại dư nợ
- Nguyên tắc phân bổ: dư nợ đc phân bổ từ những sản phẩm có dư nợ cao sang những sản phẩm có dư nợ thấp;
- Thao tác:
+ sắp xếp lại danh mục của KH theo mã hàng có dư nợ từ thấp nhất đến cao nhất;
+ Dư nợ phân bổ hết cho giá trị sản phẩm theo thứ tự đã sắp xếp, nếu tổng tài sản < nợ thì phần còn thiếu sẽ phân bổ vào sản phẩm cuối cùng.
C. Kết quả trả về như thiết kế trên sheet "Cấn nợ";
***Trường hợp sau cấn nợ mà kết quả trả về xấu hơn trước đó (như file đính kèm) là có thể xảy ra

Nhờ các anh chị giúp đỡ.

Em cảm ơn nhiều.



Tôi không phải chuyên ngành nên chẳng hiểu những công thức "dài ngoằng" của bạn là muốn có kết quả thế nào.
Cái nào hiểu thì chuyển thành VBA, không hiểu thì để nguyên công thức của bạn, đúng sai không biết à nghe.
 

File đính kèm

Tôi không phải chuyên ngành nên chẳng hiểu những công thức "dài ngoằng" của bạn là muốn có kết quả thế nào.
Cái nào hiểu thì chuyển thành VBA, không hiểu thì để nguyên công thức của bạn, đúng sai không biết à nghe.


Dạ, con cảm ơn chú Ba Tê.
Con diễn giải nội dung công thức phân bổ lại như sau:
- Nếu TTS (tổng tài sản) > Nợ của KH thì nợ phân bổ vào từng sản phẩm từ trên xuống (theo thứ tự đã sắp xếp lúc nãy) theo logic:
+ Nếu KH chỉ có 1 sản phẩm thì nợ phân bổ hết vào đó; ngược lại KH có nhiều sp thì
+ Nếu tài sản tích luỹ < nợ thì nợ phân bổ = giá trị tài sản của sản phẩm đó (cột e);
+ Nếu tài sản tích luỹ >= nợ thì nợ phân bổ = phần nợ còn lại = nợ - TS tích luỹ liền trên;
- Nếu TTS < Nợ thì:
+ Nếu KH chỉ có 1 sản phẩm thì nợ phân bổ hết vào đó; ngược lại KH có nhiều sp thì
+ Nếu sản phẩm i chưa là sản phẩm cuối cùng (mã KH dòng i khác dòng i+1) thì nợ phân bổ = giá trị tài sản của sp (cột e);
+ Nếu sp i là sp cuối cùng thì nợ phân bổ là phần nợ còn lại = nợ - TS tích luỹ liền trên;
Con diễn giải theo công thức trên file của con, còn về VBA thì còn ko rành :(, có thể con diễn giải hơi khó hiểu chút, chú thông cảm :D
Cảm ơn chú nhiều.
 
Tôi không phải chuyên ngành nên chẳng hiểu những công thức "dài ngoằng" của bạn là muốn có kết quả thế nào.
Cái nào hiểu thì chuyển thành VBA, không hiểu thì để nguyên công thức của bạn, đúng sai không biết à nghe.

Đúng là quá thiên về chuyên ngành và nhiều cột có vẻ thừa hoặc lặp giá trị như TTS, Hạn mức...
 
Web KT

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

Back
Top Bottom