Giúp sửa code tồn quỹ (1 người xem)

Liên hệ QC

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

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,063
Được thích
175
Em có sưu tầm trên GPE code tính tồn quỹ
nhưng bây giờ nó tính sai trong 1 số trường hợp sau
Mã:
Public Sub TonQuyTM()
Dim Rng(), arr(), i As Long, k As Long, Tong1 As Double, Tong2 As Double, Tong3 As Double
Rng = Range([E12], [E13].End(xlDown)).Resize(, 5).Value
ReDim arr(1 To UBound(Rng, 1), 1 To 1)
For i = 2 To UBound(Rng, 1)
    Rng(i, 5) = Rng(i - 1, 5) + Rng(i, 3) - Rng(i, 4)
    Tong1 = Tong1 + Rng(i, 3)
    Tong2 = Tong2 + Rng(i, 4)
    Tong3 = Rng(i, 5)
Next i
[E12].Resize(i - 1, 5).Value = Rng


[G12].Offset(i).Value = Tong1
[H12].Offset(i).Value = Tong2


[I12].Offset(i + 1).Value = Tong3
End Sub

1/ Trường hợp 1 (Sheet Thang-1)
Sheet này có phát sinh 2 hàng là E13 và E14 - thì code chạy cho kết quả đúng

2/ Trường hợp 2 (Sheet Thang-2)
Sheet này có phát sinh 1 hàng là E13 - thì code chạy cho kết quả sai

3/ Trường hợp 3 (Sheet Thang-3)
Sheet này không có phát sinh - thì code chạy cho kết quả sai

Các anh /chị chạy code rồi so sánh với bảng kế bên thì sẽ rỏ ý em, em cảm ơn
 

File đính kèm

PHP:
Sub TONQUY()
lr = Range("E" & Rows.Count).End(3).Row - 2
Range("G" & lr + 1).Resize(2, 3).ClearContents
For i = 13 To lr
    Cells(lr + 1, 7) = Cells(lr + 1, 7) + Cells(i, 7)
    Cells(lr + 1, 8) = Cells(lr + 1, 8) + Cells(i, 8)
Next
Cells(lr + 2, 9) = Cells(lr + 1, 7) - Cells(lr + 1, 8) + Cells(12, 9)
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
PHP:
Sub TONQUY()
lr = Range("E" & Rows.Count).End(3).Row - 2
Range("G" & lr + 1).Resize(2, 3).ClearContents
For i = 13 To lr
    Cells(lr + 1, 7) = Cells(lr + 1, 7) + Cells(i, 7)
    Cells(lr + 1, 8) = Cells(lr + 1, 8) + Cells(i, 8)
Next
Cells(lr + 2, 9) = Cells(lr + 1, 7) - Cells(lr + 1, 8) + Cells(12, 9)
End Sub
Cảm ơn sự giúp đỡ của bạn
Code của bạn chỉ tính dòng "Cộng phát sinh" và "Số dư cuối kỳ"
Còn Tồn mỗi ngày thì chưa tính (bạn xem file đính kèm, cột I, chữ màu xanh)
nhờ bạn giúp đỡ!
 

File đính kèm

Upvote 0
Cảm ơn sự giúp đỡ của bạn
Code của bạn chỉ tính dòng "Cộng phát sinh" và "Số dư cuối kỳ"
Còn Tồn mỗi ngày thì chưa tính (bạn xem file đính kèm, cột I, chữ màu xanh)
nhờ bạn giúp đỡ!
PHP:
Sub TONQUY()
Dim lr As Long, i As Long
lr = Range("E" & Rows.Count).End(3).Row - 2
Range("G" & lr + 1).Resize(2, 3).ClearContents
For i = 13 To lr - 1
    Cells(lr + 1, 7) = Cells(lr + 1, 7) + Cells(i, 7)
    Cells(lr + 1, 8) = Cells(lr + 1, 8) + Cells(i, 8)
    Cells(i, 9) = Cells(i - 1, 9) + Cells(i, 7) - Cells(i, 8)
Next
Cells(lr + 2, 9) = Cells(lr + 1, 7) - Cells(lr + 1, 8) + Cells(12, 9)
End Sub
Tôi nghĩ bạn hơi lạm dụng cái VBA trong những công việc đơn giản như thế này. Bạn chỉ cần làm sẵn công thức rồi thêm thao thác chèn dòng thì ok mà.
 
Upvote 0
Web KT

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

Back
Top Bottom