Мой курсовой проект необходим для подготовки следующей программы.Это программа расчета членских взносов для спортивного клуба.Сборы меняются следующим образом.Это должно сделать без каких-либо функций Дата, Год или Месяц.
2014 - с 01 по 2014 - 02 ---> 100 долларов (2014 год - 01 месяц - месяц)
2014 - с 03 по 2018 - 02 ---> 120
2018 - с 03 по 2019 --------> - $ 150
https://i.imgur.com/TTWLz9m.jpg?1
Я мог бы сделать переменную (x1) для вычисления месяцев любого диапазона года для вышеуказанной программы.
X1 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value) + 1)
Расчет начинается с 2014 года. Если начать с 2014-01 или 2014-02, это должно отображаться в A1.Если конечный год больше, чем 2014, значение A1 должно отображать 200, а остаток от другого значения должен отображаться в B1, как показано на рисунке ниже.(имеется в виду, когда значение на конец года (C)> 2014, вычисления прекращаются и отображается это значение в A1 и другие вычисления идут вперед, а остальные должны отображаться в B1) https://i.imgur.com/Se0CFyI.jpg?1
Проблема: Я не могу остановить значения B1, если значение C> 2018 и значение D> 02
Вопрос: Как изменить правильность этой программы в Excel VBA до 2018-02,но в результате неправильный ответ после 2018-03 и 2019 гг.
Private Sub CommandButton1_Click()
A1.Value = 0
B1.Value = 0
D1.Value = 0
X1 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value) + 1)
X2 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (10 - Val(B.Value) + Val(D.Value) + 1)
X3 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (11 - Val(B.Value) + Val(D.Value))
X4 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value) + 1) - Val(D.Value) + 2
X11 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value) + 1) - Val(D.Value) + 1
X5 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + 12
X6 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + 11
X7 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value)) - Val(D.Value) + 1
X8 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value)) - Val(D.Value) + 2
X9 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value) + 1) - Val(D.Value) + 1
X10 = (((Val(C.Value) - 1) - Val(A.Value)) * 12) + (12 - Val(B.Value) + Val(D.Value) + 1) - Val(D.Value) + 2
Y1 = ((Val(A.Value)) * 0) + (Val(B.Value))
'2014 January and February ===========================================================
If Val(A.Value) = 2014 And Val(B.Value) = 1 And Val(C.Value) > 2014 And Val(D.Value) = 1 Then
A1.Value = 2 * Y1 * 100
End If
If Val(A.Value) = 2014 And Val(B.Value) = 1 And Val(C.Value) = 2014 And Val(D.Value) = 1 Then
A1.Value = Y1 * 100
End If
If Val(A.Value) = 2014 And Val(B.Value) = 1 And Val(C.Value) >= 2014 And Val(D.Value) >= 2 Then
A1.Value = 2 * Y1 * 100
End If
If Val(A.Value) = 2014 And Val(B.Value) = 2 And Val(C.Value) >= 2014 And Val(D.Value) <= 12 Then
A1.Value = Y1 / 2 * 100
End If
'===================================================================================================
'2014- March to 2018 - February
If Val(A.Value) = 2014 And Val(B.Value) = 1 And Val(C.Value) < 2018 And Val(D.Value) >= 1 Then
B1.Value = (X2 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) = 2 And Val(C.Value) < 2018 And Val(D.Value) >= 1 Then
B1.Value = (X3 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) >= 3 And Val(C.Value) < 2018 And Val(D.Value) >= 1 Then
B1.Value = (X1 * 120)
End If
If Val(A.Value) > 2014 And Val(B.Value) >= 1 And Val(C.Value) < 2018 And Val(D.Value) >= 1 Then
B1.Value = (X1 * 120)
End If
If Val(A.Value) > 2014 And Val(B.Value) >= 1 And Val(C.Value) >= 2018 And Val(D.Value) >= 2 Then
B1.Value = (X4 * 120)
End If
If Val(A.Value) > 2014 And Val(B.Value) >= 1 And Val(C.Value) >= 2018 And Val(D.Value) = 1 Then
B1.Value = (X11 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) = 1 And Val(C.Value) = 2018 And Val(D.Value) = 1 Then
B1.Value = (X2 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) = 1 And Val(C.Value) = 2018 And Val(D.Value) = 2 Then
B1.Value = (X3 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) = 2 And Val(C.Value) = 2018 And Val(D.Value) = 1 Then
B1.Value = (X6 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) = 2 And Val(C.Value) = 2018 And Val(D.Value) = 2 Then
B1.Value = (X5 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) >= 3 And Val(C.Value) = 2018 And Val(D.Value) = 1 Then
B1.Value = (X9 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) >= 3 And Val(C.Value) = 2018 And Val(D.Value) >= 2 Then
B1.Value = (X10 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) = 1 And Val(C.Value) = 2018 And Val(D.Value) > 2 Then
B1.Value = (X7 * 120)
End If
If Val(A.Value) = 2014 And Val(B.Value) = 2 And Val(C.Value) = 2018 And Val(D.Value) >= 3 Then
B1.Value = (X8 * 120)
End If
'===================================================================================================
Me.Answer = (Me.A1 + 0) + (Me.B1 + 0) + (Me.D1 + 0)
End Sub