Chú SA_DQ ơi, cháu đang làm cái thẻ kho nhưng mà code cháu viết nó ra kết quả không như ý muốn, chú xem giúp cháu cái code cháu viết nó sai ở đâu với. Phần số lượng nhập xuất ở bên thẻ kho đang sai.
Xin lỗi anh SA_DQ, tôi mạn phép anh làm bài này nhé. Cũng không dám " đánh trống qua cửa nhà sấm" hay "cầm đèn chay trước ô tô" đâu. Mong anh thứ lỗi
Bạn đang tín nhiệm Anh SA_DQ. nhưng hãy thử code mà tôi đã sửa lại xem sao. đã sửa và thêm phần tự động điền số thứ tự, và lũy kế tồn kho theo từng ngày
Sub Tonghopthekho()
Dim wssokho, wsthekho As Worksheet
Dim lrwsokho As Integer
Dim Tungay, Denngay As Long
Dim i&
Set wssokho = Sheets("SoKho")
Set wsthekho = Sheets("TheKho")
Dim ArrS(), ArrKQ()
Application.ScreenUpdating = False
wsthekho.Range("A15:H10000").ClearContents
If wsthekho.Range("B6") = Empty Then
wsthekho.Range("B6") = wsthongtin.Range("C12").Value
End If
If wsthekho.Range("B7") = Empty Then
wsthekho.Range("B7") = Date
End If
Tungay = wsthekho.Range("B6").Value
Denngay = wsthekho.Range("B7").Value
Mahang = wsthekho.Range("B9").Value
'Tim dong cuoi so kho
lrwsokho = wssokho.Range("B" & Rows.Count).End(xlUp).Row
ArrS = wssokho.Range("B10:T" & lrwsokho).Value
ReDim ArrKQ(1 To UBound(ArrS), 1 To 7)
For i = 1 To UBound(ArrS)
DK = Left(ArrS(i, 3), 2)
If ArrS(i, 1) >= Tungay And ArrS(i, 1) <= Denngay And ArrS(i, 7) = Mahang Then
k = k + 1
ArrKQ(k, 1) = k
ArrKQ(k, 2) = ArrS(i, 1)
ArrKQ(k, 3) = ArrS(i, 3)
ArrKQ(k, 4) = ArrS(i, 6)
If DK = "PN" Then
ArrKQ(k, 5) = ArrS(i, 12)
TN = TN + ArrS(i, 12)
ArrKQ(k, 7) = TN - TX
Else
ArrKQ(k, 6) = ArrS(i, 12)
TX = TX + ArrS(i, 12)
ArrKQ(k, 7) = TN - TX
End If
End If
Next i
wsthekho.Range("A15").Resize(UBound(ArrS), 7) = ArrKQ
Application.ScreenUpdating = True
MsgBox "XONG"
End Sub