Option Explicit
'================================================
Public Function DienNew(congto As Long, ho As Integer)
Select Case congto
Case Is > 400 * ho
DienNew = (congto - 400 * ho) * 1790 + 540750 * ho
Case Is > 300 * ho
DienNew = (congto - 300 * ho) * 1740 + 366750 * ho
Case Is > 200 * ho
DienNew = (congto - 200 * ho) * 1620 + 204750 * ho
Case Is > 150 * ho
DienNew = (congto - 150 * ho) * 1495 + 130000 * ho
Case Is > 100 * ho
DienNew = (congto - 100 * ho) * 1135 + 73250 * ho
Case Is > 50 * ho
DienNew = (congto - 50 * ho) * 865 + 30000 * ho
Case Is > 0
DienNew = congto * 600 * ho
End Select
End Function
'================================================
Public Function Tienbac(congto As Long, bac As Integer, ho As Integer)
Dim gia()
Dim muc()
gia = Array(600, 865, 1135, 1495, 1620, 1740, 1790)
muc = Array(0 * ho, 50 * ho, 100 * ho, 150 * ho, 200 * ho, 300 * ho, 400 * ho)
If bac < 1 Or bac > 7 Or congto < muc(bac - 1) Then Tienbac = 0: Exit Function
If bac < 7 Then
Tienbac = IIf(congto >= muc(bac), muc(bac) - muc(bac - 1), congto - muc(bac - 1))
Tienbac = Tienbac * gia(bac - 1)
Else
Tienbac = (congto - 400 * ho) * 1790
End If
End Function
'================================================
Public Function MucCS(congto As Long, bac As Integer, ho As Integer)
Dim muc()
muc = Array(0 * ho, 50 * ho, 100 * ho, 150 * ho, 200 * ho, 300 * ho, 400 * ho)
If bac < 1 Or bac > 7 Or congto < muc(bac - 1) Then MucCS = 0: Exit Function
If bac < 7 Then
MucCS = IIf(congto >= muc(bac), muc(bac) - muc(bac - 1), congto - muc(bac - 1))
Else
MucCS = congto - 400 * ho
End If
End Function