Xin giúp đỡ code lập trình VBA : sửa file nhật ký chung

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

tu205489039

Thành viên hoạt động
Tham gia
14/12/14
Bài viết
118
Được thích
12
Giới tính
Nam
dạ xin chào anh chị!
hiện mình đang chạy 1 file nhật ký chung, nhưng khi nó ghép tài khoản đối ứng thì lại tách tiền sai và tài khoản đối ứng cũng sai
1733548498476.png
gốc là
nợ 1311: 51.489.000
có 1368: 51.489.000

Nhưng khi chạy kết quả lại ra là
1733548588063.png
Kết quả đúng:
Nợ 1131 Có 1368 51.489.000

Mình không hiểu tại sao nó lại tách tiền ra và sai tài khoản đối ứng
Nhờ mọi người xem giúp và hỗ trợ sửa giúp mình cai file này để chạy đúng kết quả với
Mình xin cảm ơn!
 

File đính kèm

  • nhat ky chung.xlsb
    4.9 MB · Đọc: 27
Phải sửa từ chỗ nào cho bạn bây giờ? nếu không phải là bạn viết code. Thì liên lạc với người tạo ra nó phải nhanh hơn không?
 
Upvote 0
mình không biết người viết ạ. Nhưng có khả năng là lỗi tại sub này: "TaoRng()" ạ
Đọc code trong file thấy lằng nhằng thật sự. nếu bạn không phải là người viết. thì cũng khó đấy. Thử mô tả lại logic xem mọi người có giúp được gì không?
 
Upvote 0
Mình mô tả bạn xem thử nhe
tại sheet "DataXL", file sẽ lọc chứng từ tại cột B để đưa qua cột A sheet NKC, ví dụ số chứng từ 100000192SA có 3 dòng nợ, 3 dòng có thì sẽ bắt cặp từ trên xuống dưới
1733554170888.png
Sau khi bắt cặp sẽ có 3 dòng nợ 4212......có 4211 ứng với 3 số tiền tại số tiền nợ
 
Upvote 0
dạ xin chào anh chị!
hiện mình đang chạy 1 file nhật ký chung, nhưng khi nó ghép tài khoản đối ứng thì lại tách tiền sai và tài khoản đối ứng cũng sai
View attachment 306171
gốc là
nợ 1311: 51.489.000
có 1368: 51.489.000

Nhưng khi chạy kết quả lại ra là
View attachment 306172
Kết quả đúng:
Nợ 1131 Có 1368 51.489.000

Mình không hiểu tại sao nó lại tách tiền ra và sai tài khoản đối ứng
Nhờ mọi người xem giúp và hỗ trợ sửa giúp mình cai file này để chạy đúng kết quả với
Mình xin cảm ơn!
Theo tôi có thể do phần khai báo biến Double thôi, bạn test thử chuyển qua LongLong, LongPtr hoặc single thử. Thường số tiền cộng lớn thường sẽ có sai số học. Lúc trước tôi cũng gặp trường hợp khi tạo bảng Cân đối phát sinh bằng code thì giá trị cộng dồn hàng Tổng cộng bị sai lệch so với dùng công thức trên sheet. Tôi nhớ trên diễn đàn các anh chị có nói vấn đề này rồi, lâu quá tôi không nhớ chính xác bài nào.
 
Upvote 0
Theo tôi có thể do phần khai báo biến Double thôi, bạn test thử chuyển qua LongLong, LongPtr hoặc single thử. Thường số tiền cộng lớn thường sẽ có sai số học. Lúc trước tôi cũng gặp trường hợp khi tạo bảng Cân đối phát sinh bằng code thì giá trị cộng dồn hàng Tổng cộng bị sai lệch so với dùng công thức trên sheet. Tôi nhớ trên diễn đàn các anh chị có nói vấn đề này rồi, lâu quá tôi không nhớ chính xác bài nào.
Mình đã thử chỉnh sang LongLong nhưng vẫn không được bạn ạ
 
Upvote 0
Mình đã thử chỉnh sang LongLong nhưng vẫn không được bạn ạ
Vấn đề ở tại sub GanKQ() dòng code
curSLNoDu = curSLNoDu - SLChia
curSLCoThieu = curSLCoThieu - SLChia
Biến curSLNoDu và curSLCoThieu này là phép tính cộng dồn rồi xét điều kiện so sánh giá trị, mà với file mấy trăm ngàn dòng dữ liệu của bạn tính tổng để đối chiếu thì khai biến Long không đủ, mà chuyển qua khai kiểu khác thì sai số. Tôi đoán vậy.
Bạn tham khảo thêm bài này Sai số do khai báo biến kiểu Single
 
Lần chỉnh sửa cuối:
Upvote 0
dạ xin chào anh chị!
hiện mình đang chạy 1 file nhật ký chung, nhưng khi nó ghép tài khoản đối ứng thì lại tách tiền sai và tài khoản đối ứng cũng sai
View attachment 306171
gốc là
nợ 1311: 51.489.000
có 1368: 51.489.000

Nhưng khi chạy kết quả lại ra là
View attachment 306172
Kết quả đúng:
Nợ 1131 Có 1368 51.489.000

Mình không hiểu tại sao nó lại tách tiền ra và sai tài khoản đối ứng
Nhờ mọi người xem giúp và hỗ trợ sửa giúp mình cai file này để chạy đúng kết quả với
Mình xin cảm ơn!
Dữ liệu có đúng đâu bạn. Thử lọc chứng từ số 6200116908WE hoặc 6200115092WE.
Trường hợp hạch toán một đống tài khoản vào chung một bút toán như dữ liệu này có làm cũng ra số không đúng.
 
Upvote 0
Web KT

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

Back
Top Bottom