Страницы: 1
RSS
Проблема с кодом пользовательской функции VBA If Then Else
 
Ребята, помогите, пожалуйста. Имеется необходимость записать огромную функцию Если в пользовательскую функцию.
Написала код, но он не работает, возвращает в ячейку 0. Где я совершила ошибку?(
Код
Public Function PaymentFl2In(Stp1, Stp2, Stp3, Stp4, Stp5, Stp6, Stp7, Com1, Com2, Com3, Com4, Com5, Com6, Com7, Min1, Min2, Min3, Min4, Min5, Min6, Min7, SPay)


If SPay > Stp5 And (Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (Stp3 - Stp2) * Com3 + (Stp4 - Stp3) * Com4 + (Stp5 - Stp4) * Com5 + (SPay - Stp5) * Com6) < Min6 Then
PaymentFl2In = Min6
Else
PaymentFl2In = Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (Stp3 - Stp2) * Com3 + (Stp4 - Stp3) * Com4 + (Stp5 - Stp4) * Com5 + (SPay - Stp5) * Com6
End If
     
If SPay > Stp4 And (Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (Stp3 - Stp2) * Com3 + (Stp4 - Stp3) * Com4 + (SPay - Stp4) * Com5) < Min5 Then
PaymentFl2In = Min5
Else
PaymentFl2In = Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (Stp3 - Stp2) * Com3 + (Stp4 - Stp3) * Com4 + (SPay - Stp4) * Com5
End If
        
If SPay > Stp3 And (Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (Stp3 - Stp2) * Com3 + (SPay - Stp3) * Com4) < Min4 Then
PaymentFl2In = Min4
Else
PaymentFl2In = Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (Stp3 - Stp2) * Com3 + (SPay - Stp3) * Com4
End If
        
If SPay > Stp2 And (Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (SPay - Stp2) * Com3) < Min3 Then
PaymentFl2In = Min3
Else
PaymentFl2In = Stp1 * Com1 + (Stp2 - Stp1) * Com2 + (SPay - Stp2) * Com3
End If
        
If SPay > Stp1 And (Stp1 * Com1 + (SPay - Stp1) * Com2) < Min2 Then
PaymentFl2In = Min2
Else
PaymentFl2In = Stp1 * Com1 + (SPay - Stp1) * Com2
End If
If SPay * Com1 < Min1 Then
PaymentFl2In = Min1
Else
PaymentFl2In = SPay * Com1
End If
 
  
End Function

 
Измените логин (см. правила форума)

Цитата
необходимость записать огромную функцию
Так ли необходима формула? Если вычислить в коде, без вставки формулы? Обязательно ЕСЛИ? Другое решение не принимается?

Проблема не с функцией, а с названием темы.
Читайте правила, меняйте логин, предлагайте новое название (заменят модераторы)
Страницы: 1
Наверх