Ergistael
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору SAS888 Цитата: Может подскажешь наиболее рациональный способ, как в ячейке, содержащей ссылку, изменить источник ссылки? Например, вместо "=[AAA]Sheet1!$A$1" нужно "=[BBB]Sheet2!$A$1", или в общем виде: вместо X!Address получить Y!Address, с учетом того, что X и Y могут содержать символ "!". | Вопрос, в принципе, понятный, но конкретная постановка задачи может сильно облегчить/затруднить решение. Я так понимаю, что в данном случае к символам "!", "[", "]" можно привязаться? Тогда, ИМХО, алгоритм может быть похож на тот, что ты писал для hackman'a: 1. Ищем в текстовой строке с формулой символ "[", запоминаем позицию 2. Ищем "!", запоминаем позицию 3. Повторяем пп.1-2 (позиция начала каждого поиска - конец предыдущего найденного), пока не нашли всех таких кусочков 4. Меняем с помощью функции REPLACE() части между начальной и конечной позициями в строке, начиная С КОНЦА строки (чтобы позиции символов не поехали). (Т.е. разбивать ВСЮ строку на кусочки, заменять один и склеивать опять - не нужно). PS: я вообще не специалист, поэтому не могу претендовать на оптимальное решение, но сам взялся за сложную задачу, т.ч. уже немного поднаторел, а кроме того, решение приходит в процессе обсуждения, т.ч. дополняй, уточняй, в т.ч. по конкретным функциям... PPS: очень неудобный формат форума для обсуждений. Предпочитаю programmersforum (дот) ру, в соотв. ветке, я там Alkaline. |