Страницы: 1
RSS
Во множестве формул на страницах книги требуется автозамена
 
Уважаемые коллеги!
Типовой вопрос, однако не смог найти рабочего решения в инэте. В книге в формулах используется одинаковая часть пути: D:\Подразделения\ПЭО\МЕСЯЧНЫЕ БЮДЖЕТЫ НА 2021г по АБВ\дек_2021\.
Во множестве формул на страницах книги требуется "дек_2021" заменить на "12_2021".
Самостоятельно не хватает образования/недостаток свободного времени написать макрос.
Прошу сообщить ссылку на решение. С меня 0,5, Уважаемые!
 
раз уже
Цитата
С меня 0,5
CTRL+H - найти "дек_2021" и заменить на "12_2021" - параметры  - убрать галочку с  "ячейка целиком" - искать в книге - заменить все
Изменено: Mershik - 06.12.2021 14:46:21
Не бойтесь совершенства. Вам его не достичь.
 
Сложность в том, что данной части пути "дек_2021" не существует, полагалось, что появится в будущем, а появилось "12_2021". Следовательно, CTRL+H бессилен в данном случае.
 
Сергей Иванов
Цитата
Следовательно, CTRL+H бессилен в данном случае.
вы пробовали ??

покажите файл - пример - не ваш рабочий файл ( часть где вопроизводится что у Вас не получается, так как я сделал на существующий файл ссылку после чего дополнит к пути еще папку (которой нет) и все заменилось)
Изменено: Mershik - 06.12.2021 14:55:34
Не бойтесь совершенства. Вам его не достичь.
 
Mershik Здравствуй. Что на халяву не прокатило 0,5.  Надо писать макрос, но без файла  не получиться.
Хотя странно то пишет что есть дек_2021 то нет. Может путь в именах книги
Изменено: Евгений Смирнов - 06.12.2021 15:03:47
 
С Уважением, пример. Ссылок аналогичных полно на страницах книг.
Изменено: Сергей Иванов - 06.12.2021 15:04:19
 
Евгений Смирнов,  :D  привет, ну посмотрим че уж там) я же не вижу файла)) вот угадываю) возможно все формулы сделать текстом заменить и когда папка появится вернуть)
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Сергей Иванов написал:
Сложность в том, что данной части пути "дек_2021" не существует,
для меня сложность написать формулу с ссылкой на несуществующий файл, а вот заменить её на существующий -  проблем вроде нет. При этом можно просто сделать это через связи.
По вопросам из тем форума, личку не читаю.
 
=ЕСЛИОШИБКА('I:\Подразделения\ПЭО\МЕСЯЧНЫЕ БЮДЖЕТЫ НА 2022г по ПФВ\янв_2022\[Бюджет ГСМ 2022.xls]ВРС масла для БП '!#ССЫЛКА!*'I:\Подразделения\ПЭО\МЕСЯЧНЫЕ БЮДЖЕТЫ НА 2022г по ПФВ\янв_2022\[Бюджет ГСМ 2022.xls]ВРС масла для БП '!H9+'I:\Подразделения\ПЭО\МЕСЯЧНЫЕ БЮДЖЕТЫ НА 2022г по ПФВ\янв_2022\[Бюджет ГСМ 2022.xls]ВРС топливо для БП'!#ССЫЛКА!*'I:\Подразделения\ПЭО\МЕСЯЧНЫЕ БЮДЖЕТЫ НА 2022г по ПФВ\янв_2022\[Бюджет ГСМ 2022.xls]ВРС топливо для БП'!H28;0)
- "янв_2022" надо заменить на "01_2022".
Фактически папка "янв_2022" отсутствует. "#ССЫЛКА!" - отсутствуют ошибки в формулах фактически (прописаны адреса ячеек в формулах).
Код
Sub ChangeMonths()

    Dim oldStr$, newStr$

       oldStr = "янв_2022"
    newStr = "01_2022"
    newStr = Replace(Range("A1").Formula, oldStr, newStr)
    Range("A1").Formula = newStr

End Sub
- ошибку выдаёт, и ссылка, разумеется, не на А1.

Аналог решения готового:
https://coderoad.ru/49623964/Excel-VBA-%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D1%82%D0%B5...
 
Цитата
Сергей Иванов написал:
"#ССЫЛКА!" - отсутствуют ошибки в формулах фактически (прописаны адреса ячеек в формулах)
Сергей, но ведь еще есть листы, книги и пр. Посмотрите в эту сторону (путь). Если все правильно "#ССЫЛКА! " не появится. Либо косяки в ПО (переустановка нужна)
Изменено: _Igor_61 - 06.12.2021 16:52:40
 
Выделить ячейки с формулами и нажать кнопку
Код
Sub SENfgds()
Dim Rg1 As Range, Tp1, NewText$
Application.DisplayAlerts = False
Set Rg1 = Selection
For Each Tp1 In Rg1.Cells
NewText = Replace(Tp1.Formula, "янв_2022", "01_2022")
Tp1.Formula = NewText
Next
Application.DisplayAlerts = True
End Sub
Изменено: Евгений Смирнов - 06.12.2021 16:42:15
 
Возможно, я что-то не понял из темы... Вопрос заменить одно значение на другое или найти причину появления ошибки "#ССЫЛКА!"? Вижу что за последний час ТС вместо этой ошибки заменил на текст с месяцем и годом, но не везде... Тогда почему его не устроил совет из #2?
Сергей Иванов, как понять:
Цитата
Сергей Иванов написал:
Сложность в том, что данной части пути "дек_2021" не существует, полагалось, что появится в будущем, а появилось "12_2021
???
Цитата
Евгений Смирнов написал:
Надо писать макрос
Вообще-то из длинных формул можно делать короткие...  
Да простят меня Малыш и Кот: Евгений, постарайтесь в дальнейшем воздержаться от подобных  высказываний  про  0,5 т.к. зависть есть не очень хорошее качество (пардон - "property")   :)
Изменено: _Igor_61 - 06.12.2021 17:14:18
 
Евгений Смирнов,
Excel сам все сделает
Код
Option Explicit
Sub SENfgds()
Dim Rg1 As Range
Application.DisplayAlerts = False
Application.FindFormat.Clear
Set Rg1 = Selection.SpecialCells(xlCellTypeFormulas)
If Rg1 Is Nothing Then Exit Sub
Rg1.Replace What:="Янв_2022", Replacement:="01_2022", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
Изменено: БМВ - 06.12.2021 17:55:47
По вопросам из тем форума, личку не читаю.
 
_Igor_61 Здравствуте
Да тут сложно понимать, возможно у  автора 0,5 стоит. Метод замены идет только по каждой ячейке вылетает сообщение об обновлении связей. Я в макросе отключил их. Вроде все работает.

БМВ Я сначала так и хотел но почему-то с 1 раза не получилось. Написал по другому прокатило, Возможно где то с ошибкой написал не стал искать
А вы свой макрос запускали в строке 8 не дописали буквочки. А вот на этой строчке у меня ошибка 438. Я точно не знаю этот оператор никогда не применял.
Код
Application.FindFormat = False

А SpecialCells надо было применить сразу не догадался

Изменено: Евгений Смирнов - 06.12.2021 17:53:34
 
Цитата
Евгений Смирнов написал:
не дописали буквочки. А вот на этой строчке у меня ошибка 438.
да спс. и я тормоз верхняя строка сбила там
Код
Application.FindFormat.Clear
По вопросам из тем форума, личку не читаю.
 
БМВ Все иногда ошибаются. Я утром такую хрень написал. Видимо еще спал.
 
Ой, ребята, давайте дождемся сообщения от ТС-а, а то всем нам придется на другие форумы переходить и учиться другим способам - таким, где дают рекомендации по предсказаниям, чего ТС хочет....   :)
 
Уважаемые, сейчас протестирую, сообщу!
Страницы: 1
Наверх