Я написал этот VBA-скрипт для выполнения сложных вычислений, но результат всегда равен 0. Я описал реальные ответы в коде. Почему это не работает?
Выход для кода

Private Sub Button1_Click()
Dim city_name As String, deal_type As String, cft As Integer, discount_percentage As Integer, city_check As Integer, cft_check As Integer, deal_check As Integer, discount_check As Integer, weekday_bookingfee As Double, weekend_bookingfee As Double
discount_percentage = Range("b4").Value
city_name = Range("b5").Text
deal_type = Range("b6").Text
cft = Range("b7").Value
If city_name = "Delhi" Then
city_check = 1
ElseIf city_name = "Mumbai" Then
city_check = 1
ElseIf city_name = "Bangalore" Then
city_check = 1
ElseIf city_name = "Chennai" Then
city_check = 3
ElseIf city_name = "Kolkata" Then
city_check = 3
ElseIf city_name = "Hyderabad" Then
city_check = 2
ElseIf city_name = "Pune" Then
city_check = 3
ElseIf city_name = "Ahmedabad" Then
city_check = 4
ElseIf city_name = "Chandigarh" Then
city_check = 4
ElseIf city_name = "Jaipur" Then
city_check = 4
ElseIf city_name = "Goa" Then
city_check = 4
Else:
End If
If deal_type = "Food" Then
deal_check = 2
ElseIf deal_type = "Total" Then
deal_check = 1
ElseIf deal_type = "Buffet" Then
deal_check = 1
ElseIf deal_type = "Alcohol" Then
deal_check = 3
ElseIf deal_type = "Coupon" Then
deal_check = 4
ElseIf deal_type = "Explosive" Then
deal_check = 4
Else:
End If
If cft >= 5000 Then
cft_check = 1
ElseIf cft < 5000 And cft >= 2500 Then
cft_check = 2
ElseIf cft < 2500 And cft >= 1500 Then
cft_check = 3
ElseIf cft < 1500 And cft >= 800 Then
cft_check = 4
ElseIf cft < 800 And cft >= 500 Then
cft_check = 5
ElseIf cft < 500 Then
cft_check = 6
Else:
End If
If (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 3) Then
weekend_bookingfee = 80 And weekday_bookingfee = 60
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 4) Then
weekend_bookingfee = 70 And weekday_bookingfee = 60
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 5) Then
weekend_bookingfee = 50 And weekday_bookingfee = 40
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 6) Then
weekend_bookingfee = 50 And weekday_bookingfee = 40
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 7) Then
weekend_bookingfee = 35 And weekday_bookingfee = 30
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 8) Then
weekend_bookingfee = 30 And weekday_bookingfee = 25
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 9) Then
weekend_bookingfee = 25 And weekday_bookingfee = 20
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 10) Then
weekend_bookingfee = 20 And weekday_bookingfee = 15
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 11) Then
weekend_bookingfee = 20 And weekday_bookingfee = 15
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 12) Then
weekend_bookingfee = 15 And weekday_bookingfee = 10
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 13) Then
weekend_bookingfee = 15 And weekday_bookingfee = 10
ElseIf (discount_percentage = 50) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 14) Then
weekend_bookingfee = 5 And weekday_bookingfee = 5
Else:
End If
If (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 3) Then
weekend_bookingfee = (80 * 0.75) And weekday_bookingfee = (60 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 4) Then
weekend_bookingfee = (70 * 0.75) And weekday_bookingfee = (60 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 5) Then
weekend_bookingfee = (50 * 0.75) And weekday_bookingfee = (40 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 6) Then
weekend_bookingfee = (50 * 0.75) And weekday_bookingfee = (40 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 7) Then
weekend_bookingfee = (35 * 0.75) And weekday_bookingfee = (30 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 8) Then
weekend_bookingfee = (30 * 0.75) And weekday_bookingfee = (25 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 9) Then
weekend_bookingfee = (25 * 0.75) And weekday_bookingfee = (20 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 10) Then
weekend_bookingfee = (20 * 0.75) And weekday_bookingfee = (15 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 11) Then
weekend_bookingfee = (20 * 0.75) And weekday_bookingfee = (15 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 12) Then
weekend_bookingfee = (15 * 0.75) And weekday_bookingfee = (10 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 13) Then
weekend_bookingfee = (15 * 0.75) And weekday_bookingfee = (10 * 0.75)
ElseIf (discount_percentage = 40) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 14) Then
weekend_bookingfee = (5 * 0.75) And weekday_bookingfee = (5 * 0.75)
Else:
End If
If (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 3) Then
weekend_bookingfee = (80 * 0.5) And weekday_bookingfee = (60 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 4) Then
weekend_bookingfee = (70 * 0.5) And weekday_bookingfee = (60 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 5) Then
weekend_bookingfee = (50 * 0.5) And weekday_bookingfee = (40 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 6) Then
weekend_bookingfee = (50 * 0.5) And weekday_bookingfee = (40 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 7) Then
weekend_bookingfee = (35 * 0.5) And weekday_bookingfee = (30 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 8) Then
weekend_bookingfee = (30 * 0.5) And weekday_bookingfee = (25 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 9) Then
weekend_bookingfee = (25 * 0.5) And weekday_bookingfee = (20 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 10) Then
weekend_bookingfee = (20 * 0.5) And weekday_bookingfee = (15 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 11) Then
weekend_bookingfee = (20 * 0.5) And weekday_bookingfee = (15 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 12) Then
weekend_bookingfee = (15 * 0.5) And weekday_bookingfee = (10 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 13) Then
weekend_bookingfee = (15 * 0.5) And weekday_bookingfee = (10 * 0.5)
ElseIf (discount_percentage = 30 Or discount_percentage = 20) And (WorksheetFunction.Sum(city_check, deal_check, cft_check) = 14) Then
weekend_bookingfee = (5 * 0.5) And weekday_bookingfee = (5 * 0.5)
Else:
End If
Range("b10").Value = weekday_bookingfee
Range("b11").Value = weekend_bookingfee
End Sub
Мне нужны фактические сборы за неделю и на выходные, как я описал в коде