Здравствуйте, товарищи! подскажите плиз... Я пытаюсь создать небольшую формулку, которая бы находила определенное значение по условию... Я её проверял - она работает. Однако, работает она лишь тогда, когда вводные данные, т.е. ячейки, которые я ввожу когда активирую формулу, являются числами, отличными от нуля, а вот нули просто не видит и вообще не хочет проверять условия >0, <>0...... И еще возникают проблемы, когда формула используется на других листах.... Подскажите, what is happend? Возможно ли, что вся беда в том, что в ячейках, которые обрабатываются, находятся формулы, которые используют массивы, которые обозначаются {...}?
Спасибо.
Спасибо.
Код |
---|
Public Function ERASYL(Min_Prices As Variant, Power As Variant, Power_Max As Variant, _ Surplus As Variant, Price_Cap As Variant) Dim k As Long Dim M As Variant Dim C As Variant Dim Z As Variant Dim OTVET As Variant Dim D As Variant For k = Min_Prices.Rows.Count To 1 Step -1 If Power.Cells(k, 1) > 0 Then M = M + Power.Cells(k, 1) C = 0.9 * Min_Prices.Cells(k, 1) If Surplus > Power_Max Then D = Power_Max Else D = Surplus End If If M < D Then Z = M Else Z = D End If If (((Power_Max - D) * T) / (Z + (Power_Max - D))) < C And Z = D Then OTVET = 0.95 * C NumberFormat = "0.0000000000000000000" Exit For End If If k = 2 Then OTVET = T NumberFormat = "0.0000000000000000000" Exit For End If End If Next ERASYL = OTVET End Function |