Страницы: 1
RSS
Добавление ф-ции ОКРУГЛ в формулу с помощью макроса выдает ошибку.
 
соорудил макрос
Код
Sub Округл_в_выделении()
Dim frm
Application.ScreenUpdating = False
For Each frm In Selection
If InStr(frm.Formula, "ROUND") = 0 Then
  frm.FormulaR1C1 = "=ROUND(" & Replace(frm.Formula, "=", "") & ",0)"
  frm.Replace "'", ""
End If
Next
Application.ScreenUpdating = True
End Sub

для некоторых формул он работает хорошо, но для вот такой
Код
ЕСЛИ(И(ЕЧИСЛО($J27);$J27>0;ЕЧИСЛО($K27));$K27*1;ЕСЛИ(И($K27="";$J27<>"";ЕЧИСЛО($L27));$J27*$L27;""))

не хочет работать. ошибка 1004 Application-defined or object-defined error Что я не так.
Изменено: V - 31.03.2015 08:55:51
 
попробуйте дополнительно для Replace указать с какой позиции искать и сколько замен "=" на "" производить.
Кому решение нужно - тот пример и рисует.
 
Пытливый спасибо за ответ.
Код
Replace(frm.Formula, "=", "", 1, 1)
не помогло. :(
п.с. с Replace перемудрил но и такой вариант
Код
Mid(frm.Formula, 2, 999)
не фурычит.
Изменено: V - 31.03.2015 09:57:00
 
ИМХО конфликт между
frm.FormulaR1C1 = "=ROUND(" & Replace(frm.Formula, "=", "") & ",0)"
 
Казанский спасибо - помогло.
П.С. для общего развития, почему на простых формулах типа (А1+А2 или макс(А1:А15)) конфликта не было?
Страницы: 1
Наверх