ChinMuoi
Thành viên mới

- Tham gia
- 17/2/19
- Bài viết
- 3
- Được thích
- 0
Mong giúp đỡ
Mình có 2 đoạn code dùng vba trên excel, không hiểu sao đoạn thứ nhất chạy được, đoạn thứ 2 không chạy được khi nhập số lớn hơn 33.
khó hiểu quá, mong các cao thủ giúp!
'TTmg
Public Function TTmg(sl As Integer, ten As String, mkh As String)
'ty le thue
Dim v As Double
mkh = Left(mkh, 3)
Select Case mkh
Case "LHA"
v = 1.15
Case "MTA"
v = 1.05
End Select
'gia truoc thue
Dim x As Integer
x = 20000
'khoi luong
Dim t As Integer
t = InStr(1, ten, "TB")
If t > 0 Then
sl = sl - 3
End If
If sl < 0 Then
sl = 0
End If
'thanh tien
TTmg = v * sl * x
End Function
Đoạn 2 như sau
'TTnc
Public Function TTnc(sl As Integer, ten As String, mkh As String)
'ty le thue
Dim v As Double
If mkh = "LHA 2499" Then
mkh = "MTA"
End If
mkh = Left(mkh, 3)
Select Case mkh
Case "LHA"
v = 1.15
Case "MTA"
v = 1.05
End Select
'gia truoc thue
Dim x, y, z, k As Integer
x = 8000
y = 9600
z = 11200
k = 11200
Dim t1 As Integer
t1 = InStr(1, ten, "KD")
If t1 > 0 Then
k = 20000
End If
'khoi luong
Dim t2 As Integer
t2 = InStr(1, ten, "TB")
If t2 > 0 Then
sl = sl - 3
End If
Dim a, b, c, d As Integer
b = 0
c = 0
d = 0
If sl <= 0 Then
a = 0
ElseIf sl <= 10 Then
a = sl
ElseIf sl <= 20 Then
a = 10
b = sl - 10
ElseIf sl <= 30 Then
a = 10
b = 10
c = sl - 20
ElseIf sl > 30 Then
a = 10
b = 10
c = 10
d = sl - 30
End If
'thanh tien
TTnc = v * (a * x + b * y + c * z + d * k)
End Function
Mình có 2 đoạn code dùng vba trên excel, không hiểu sao đoạn thứ nhất chạy được, đoạn thứ 2 không chạy được khi nhập số lớn hơn 33.
khó hiểu quá, mong các cao thủ giúp!
Bài đã được tự động gộp:
'TTmg
Public Function TTmg(sl As Integer, ten As String, mkh As String)
'ty le thue
Dim v As Double
mkh = Left(mkh, 3)
Select Case mkh
Case "LHA"
v = 1.15
Case "MTA"
v = 1.05
End Select
'gia truoc thue
Dim x As Integer
x = 20000
'khoi luong
Dim t As Integer
t = InStr(1, ten, "TB")
If t > 0 Then
sl = sl - 3
End If
If sl < 0 Then
sl = 0
End If
'thanh tien
TTmg = v * sl * x
End Function
Bài đã được tự động gộp:
Đoạn 2 như sau
'TTnc
Public Function TTnc(sl As Integer, ten As String, mkh As String)
'ty le thue
Dim v As Double
If mkh = "LHA 2499" Then
mkh = "MTA"
End If
mkh = Left(mkh, 3)
Select Case mkh
Case "LHA"
v = 1.15
Case "MTA"
v = 1.05
End Select
'gia truoc thue
Dim x, y, z, k As Integer
x = 8000
y = 9600
z = 11200
k = 11200
Dim t1 As Integer
t1 = InStr(1, ten, "KD")
If t1 > 0 Then
k = 20000
End If
'khoi luong
Dim t2 As Integer
t2 = InStr(1, ten, "TB")
If t2 > 0 Then
sl = sl - 3
End If
Dim a, b, c, d As Integer
b = 0
c = 0
d = 0
If sl <= 0 Then
a = 0
ElseIf sl <= 10 Then
a = sl
ElseIf sl <= 20 Then
a = 10
b = sl - 10
ElseIf sl <= 30 Then
a = 10
b = 10
c = sl - 20
ElseIf sl > 30 Then
a = 10
b = 10
c = 10
d = sl - 30
End If
'thanh tien
TTnc = v * (a * x + b * y + c * z + d * k)
End Function