Страницы: 1
RSS
Не работает Cells.Replace
 
Код
Sub Замена()
     Cells.Replace What:="#ССЫЛКА!", Replacement:="Спецификация!", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

End Sub

В книге меняется лист (удалятся одни и вставляется новый с таким же именем, но и после его замены естественно ломаются формулы ссылающиеся на него.
Проблема решается через найти и заменить - меняю ССЫЛКА на имя листа, попробовал повесить это на макрос, и макрос работает, но только до моменты пока файл открыт.
при последующем открытии - макрос не работает((
В чем может быть проблема?

Или можно как то иначе решить проблему, исправить формулы, что бы они ссылались на лист определенный лист, первый например,а не на имя, что бы при его удалении , формулы не ломались
Изменено: alexnf - 20.11.2022 18:24:53
 
Решил заменной ссылки на листы в формулах на ДВССЫЛ
Но все же буду благодарен если подскажите в чем была проблема
 
Цитата
alexnf написал:
В чем может быть проблема?
В том что какой то "добрый" дядька решил очень давно, что локализация программ приносит пользу и все повелись
попробуйте так
Код
     Cells.Replace What:="#REF!", Replacement:="Спецификация!", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

А причины кроются в том что  VBA смотрит на нелокализованное значение.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ: локализация программ приносит пользу
только в том случае, если она сделана с головой. Если даже внутри VBA зависимость от локали то есть, то нет - это непрофессионализм.
В массиве VBA видит ошибку #ДЕЛ/0! (деление на ноль) как Error 2007, а #ИМЯ? как Error 2029, например. Обе реагируют на IsError().
Изменено: Jack Famous - 21.11.2022 10:50:58
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
В массиве VBA видит
так то что там ошибка и так понятно, но отображается она в разных локалях по разному. Было близкое обсуждение короткое
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх