Tính tồn đầu , tồn cuối , nhập trong kỳ , xuất trong kỳ

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

thierry henry

Thành viên mới
Tham gia
11/6/18
Bài viết
32
Được thích
0
Kính thưa các thầy , em đang tập tành viết code . tính Tính tồn đầu , tồn cuối , nhập trong kỳ , xuất trong kỳ theo mã hàng , the kho , theo thời gian .
Riêng tồn đầu = thực nhập - thực xuất - trả hàng với mốc thời gian nhỏ hơn thời gian cho trước ( từ ngày ) trong báo cáo
nhập trong kỳ = thực nhập với thời gian từ ngày <= mốc thời gian tính <= đến ngày
xuất trong kỳ = thực xuất + trả hàng với thời gian từ ngày <= mốc thời gian tính <= đến ngày
tồn cuối = tồn đầu + nhập trong kỳ - xuất trong kỳ
Nhưng em viết bị lỗi , mấy thấy chữa giúp em
 

File đính kèm

  • Cach lam bao cao tong hop trong excel3.xlsm
    187.1 KB · Đọc: 2
Kính thưa các thầy , em đang tập tành viết code . tính Tính tồn đầu , tồn cuối , nhập trong kỳ , xuất trong kỳ theo mã hàng , the kho , theo thời gian .
Riêng tồn đầu = thực nhập - thực xuất - trả hàng với mốc thời gian nhỏ hơn thời gian cho trước ( từ ngày ) trong báo cáo
nhập trong kỳ = thực nhập với thời gian từ ngày <= mốc thời gian tính <= đến ngày
xuất trong kỳ = thực xuất + trả hàng với thời gian từ ngày <= mốc thời gian tính <= đến ngày
tồn cuối = tồn đầu + nhập trong kỳ - xuất trong kỳ
Nhưng em viết bị lỗi , mấy thấy chữa giúp em
Bạn này dùng dấu cách vô tội vạ, ở bài "Hàm Sumifs nhiều điều kiện bị lỗi value hoặc trả về 0" của bạn có cả lỗi thừa dấu cách khi viết hàm.
Nên lưu ý điều này cho các trường hợp về sau.
 
Lần chỉnh sửa cuối:
Upvote 0
lỗi thừa dấu cách khi viết hàm.
Khi viết công thức chỉ trừ địa chỉ tham chiếu không được xen dấu cách giữa địa chỉ chẳng hạn B1 không được viết thành B 1. Còn các chỗ khác như trước/ sau dấu phân cách, trước/ sau dấu &, trước/ sau dấu ( hay dấu ) đề không bị lỗi. Thậm chí xuống dòng cũng không sao. Chẳng qua là không nên thôi.
Đặc biệt dấu & tôi cũng hay thêm dấu cách do quen tay gõ trong VBA.
 
Upvote 0
Kính thưa các thầy , em đang tập tành viết code . tính Tính tồn đầu , tồn cuối , nhập trong kỳ , xuất trong kỳ theo mã hàng , the kho , theo thời gian .
Riêng tồn đầu = thực nhập - thực xuất - trả hàng với mốc thời gian nhỏ hơn thời gian cho trước ( từ ngày ) trong báo cáo
nhập trong kỳ = thực nhập với thời gian từ ngày <= mốc thời gian tính <= đến ngày
xuất trong kỳ = thực xuất + trả hàng với thời gian từ ngày <= mốc thời gian tính <= đến ngày
tồn cuối = tồn đầu + nhập trong kỳ - xuất trong kỳ
Nhưng em viết bị lỗi , mấy thấy chữa giúp em
Tham khảo code sau (vẫn là code của bạn -tôi có sửa lại tý chút Theo ý hiểu của tôi)
Mã:
Option Explicit

Sub tonkhoSua()

Application.ScreenUpdating = False
Dim TuNgay, DenNgay, MaKho, MaHang, Ngay As String
Dim i As Long
Dim tondau, nhaptrongky, xuattrongky, toncuoi As Double
Dim Ws As Worksheet
Dim Lr&, Arr()
    With Sheet2

If IsDate(Sheet2.Range("B1")) = False Or IsDate(Sheet2.Range("B2")) = False Or Sheet2.Range("B3") = "" Or Sheet2.Range("B4") = "" Then
Exit Sub
End If
    
    MaKho = UCase(.Range("B3").Value)
    TuNgay = CLng(CDate(.Range("B1").Value))
    DenNgay = CLng(CDate(.Range("B2").Value))
    MaHang = UCase(.Range("B4").Value)

Set Ws = ThisWorkbook.Sheets("XUAT-NHAP")
Lr = Ws.Range("C" & Rows.Count).End(xlUp).Row
Arr = Ws.Range("A5:O" & Lr).Value
For i = 5 To UBound(Arr)
'tondau = 0
'nhaptrongky = 0
'xuattrongky = 0
'toncuoi = 0
If Arr(i, 7) = MaKho Then
    If Arr(i, 2) < TuNgay Then
        tondau = tondau + Arr(i, 12) - Arr(i, 14) - Arr(i, 15)
        ElseIf Arr(i, 2) >= TuNgay Then
        nhaptrongky = nhaptrongky + Arr(i, 12)
        xuattrongky = xuattrongky + Arr(i, 14) + Arr(i, 15)
    End If
End If
 
Next
toncuoi = tondau + nhaptrongky - xuattrongky
    .Range("K1").Value = tondau
    .Range("K2").Value = nhaptrongky
    .Range("K3").Value = xuattrongky
    .Range("K4").Value = toncuoi
End With
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom