lananh1312
nguyennguyen1312
- Tham gia
- 13/8/20
- Bài viết
- 8
- Được thích
- 0
Chào mọi người, em đang làm một file xuất nhập tồn cho công ty, em sử dụng vba để viết sumproduct nhưng bị lỗi type mistake ở các range mà em đã set. Mọi người có biết nguyên nhân là gf không ạ. Em cảm ơn !
Mã:
Sub n_x_t()
Dim i As Integer, k As Integer, ngay_nhap As Range, ngay_xuat As Range, ma_nhap As Range
Dim ma_xuat As Range, Sl_nhap As Range, Sl_xuat As Range, nxt_start As Range, nxt_end As Range
k = Sheet7.Cells(Sheet7.Rows.Count, "b").End(xlUp).Row
Set ngay_nhap = Range(Sheet5.[b3], Sheet5.[b3].End(xlDown))
Set ngay_xuat = Range(Sheet6.[b4], Sheet6.[b4].End(xlDown))
Set ma_nhap = Range(Sheet5.[d3], Sheet5.[d3].End(xlDown))
Set ma_xuat = Range(Sheet6.[e4], Sheet6.[e4].End(xlDown))
Set Sl_nhap = Range(Sheet5.[j3], Sheet5.[j3].End(xlDown))
Set Sl_xuat = Range(Sheet6.[h4], Sheet6.[h4].End(xlDown))
Set nxt_start = Sheet7.[d2].Value
Set nxt_end = Sheet7.[h2].Value
For i = 5 To k
Sheet7.Range("c" & i).Value = Application.VLookup(Sheet7.Range("b" & i), Range(Sheet4.[b3], Sheet4.[h3].End(xlDown)), 2, False)
Sheet7.Range("d" & i).Value = Application.VLookup(Sheet7.Range("b" & i), Range(Sheet4.[b3], Sheet4.[h3].End(xlDown)), 4, False)
Sheet7.Range("e" & i).Value = Application.VLookup(Sheet7.Range("b" & i), Range(Sheet4.[b3], Sheet4.[i3].End(xlDown)), 8, False)
Sheet7.Range("f" & i).Value = WorksheetFunction.SumProduct((ngay_nhap < nxt_start), (ma_nhap = Range("b" & i)), Sl_nhap) - WorksheetFunction.SumProduct((ngay_xuat < nxt_end), (ma_xuat = Range("b" & i)), Sl_xuat) + Sheet7.Range("e" & i)
Next i
i = i + 1
End Sub