Страницы: 1
RSS
Не работает Replace
 
Добрый день.

Есть такая строка:
ёЕСЛИ(K$2<ё($D16+$D17-1);ЕСЛИ(СУММ($I9:K9)+$D22<ё$D18;K9;ЕСЛИ(СУММ($I9:K9)+$D22<ё$D18;$D18-СУММ($I9:K9)+$D22;0));0)*ЕСЛИ(ВПР($B13;Fil!$C$12:$F$28;3)ёВПР($B13;Fil!$C$12:$F$28;4);ЕСЛИ($D21<ё0,05;1  ;)  ;1)*ЕСЛИ(K$2<$D15+$D17;1  ;)

Пытаюсь заменить "ё" на "="  методом cells.replace, но не получается  :(  
Подскажите, пожалуйста, где я ошибся? Даже макрорекордер не может повторить такое... И ошибок нет.

Спасибо.
Изменено: Евгений - 12.12.2013 16:59:26
 
Всё работает:
Код
Sub TestReplace()
    MsgBox Replace(ActiveCell, "ё", "=")
End Sub

 
 
Если я делаю так, то не работает:
Код
Sub TestReplace()
    x = Replace(ActiveCell, "ё", "="  
End Sub
Изменено: Евгений - 27.12.2013 20:05:38
 
ActiveCell.FormulaLocal = Replace(ActiveCell, "ё", "=")
Я сам - дурнее всякого примера! ...
 
Для всего листа:

Код
Sub www()
    Dim c As Range
    For Each c In Cells.SpecialCells(2)
        c.FormulaLocal = Replace(ActiveCell, "ё", "=")
    Next
End Sub

 
Я сам - дурнее всякого примера! ...
 
Спасибо.

Для одиночно ячейки работает. Но формула для всего листа стирает все формулы и значения :)
 
Решил так:


Код
Sub asd()
Dim Cell As Range
Application.ScreenUpdating = False
    Selection.SpecialCells(xlCellTypeConstants, 23).Select
    For Each Cell In Selection.Cells
     Cell.Activate
     ActiveCell.FormulaLocal = Replace(ActiveCell, "ё", "=")
    Next
Application.ScreenUpdating = True
End Sub
Изменено: Евгений - 12.12.2013 18:12:33
 
Мой ляп, на коленке писал. Так сделайте:

Код
Sub www()
    Dim c As Range
    For Each c In Cells.SpecialCells(2)
        c.FormulaLocal = Replace(c, "ё", "=")
    Next
End Sub
 
И все, не надо никаких селектов.
Я сам - дурнее всякого примера! ...
 
Спасибо, этот вариант короче :)
Страницы: 1
Наверх