PHP:
Function GiaXK(SL_Xuat, Rng As Range, Optional TT As Boolean = False)
Dim TongXuat, TongNhap, XuatCon
If SL_Xuat = 0 Then
GiaXK = ""
Exit Function
End If
TongXuat = Application.WorksheetFunction.Sum(Rng.Offset(, 1).Resize(, 1))
For Each Cll In Rng.Resize(, 1)
TongNhap = TongNhap + Cll.Value
If TongNhap > TongXuat Then
If TongNhap - TongXuat >= SL_Xuat Then
GiaXK = GiaXK & " (" & SL_Xuat & "*" & Cll.Offset(, 2).Value & ")"
Exit For
Else
GiaXK = GiaXK & " (" & (TongNhap - TongXuat) & "*" & Cll.Offset(, 2).Value & ")"
SL_Xuat = SL_Xuat - (TongNhap - TongXuat)
TongXuat = TongNhap
End If
End If
Next
GiaXK = Replace(Trim(GiaXK), " ", "+")
If TT = True Then
GiaXK = IIf(GiaXK = "", 0, Evaluate(GiaXK))
End If
End Function
Code này trong bài ví dụ của anh đã giải. Em có gửi file đính kèm. Bài này anh giải rất hay nhưng chỉ đúng với 1 loại hàng (Gạch ống 8x18)
Trường hợp có nhiều loại hàng hóa khác nhau, code này ko phân biệt được tên hàng.
Anh Thắng giúp em giải bài này với!