Страницы: 1
RSS
Добавить в выделенные формулы ссылки на ячейки другого листа
 
Всем привет!
Такая задача у меня появилась: есть лист, в котором много ссылок на 2 других листа. Нужно, не меня формулы, отнять значение соответствующих ячеек третьего листа.
Как есть
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!AS39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!AS39
Нужно, чтобы:
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!AS39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!AS39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!AS39

Просто заменить по каждой ячейке не могу, их много. Протянуть тоже не получится, т.к. расположение ячеек не позволяет
 
Excelopfer, ну может логика есть у них = из одной ничего не понятно. может нужно искать в AS по условию...я обычно переключаюсь на стиль R1C1 и копирую часть формулы и меняю ее на туже + то что мне нужно добавить
Изменено: Mershik - 20.10.2020 14:49:00
Не бойтесь совершенства. Вам его не достичь.
 
а чем мне поможет переход R1C1? Ячейка AS39 в качестве примера. Остальные такие же. Логика есть, но она не позволяет протянуть формулы.

Условно говоря у меня ссылки:
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!AS39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!AS39
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!BH39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!BH39
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!CD39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!CD39
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!CC39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!CC39
.....
а нужно
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!AS39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!AS39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!AS39
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!BH39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!BH39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!BH39
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!CD39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!CD39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!CD39
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!CC39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!CC39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!CC39
 
Тема: Добавить ко всем выделенным формулам вычитание одноименной ячейки из другой книги
без файла сложно, но попробуем по экспериментировать предположим что Ваша
Код
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!AS39-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!AS39
формула находится в A1, переключаемся на стиль R1C1 и примерно получим такую вот формулу:
Код
=с:\Результат\[План1_19.xlsm]Gruppe_GB_2'!R[38]C[44]-'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!R[38]C[44]

берем и копируем часть к примеру вот эту

Код
'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!R[38]C[44]
CTRL+H вставляем в ее в найти, а в заменить пишем
Код
'с:\Результат\[План1_19.xlsm]Gruppe_GB_3'!R[38]C[44]--'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!R[38]C[44]

и еще вариант макросом выделяете ячейки с формулами и запускаете макрос:

Код
Sub dsd()
Dim cell As Range, rng As Range, arr, NL As String
NL = "'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!"
Set rng = Selection
For Each cell In rng
If Left(cell.FormulaLocal, 1) = "=" Then
    arr = Split(cell.FormulaLocal, "!", -1)
    x = arr(UBound(arr))
    cell = "=" & Mid(cell.FormulaLocal, 2) & "-" & NL & x
End If
Next cell
End Sub
Изменено: Mershik - 20.10.2020 15:42:32
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
и еще вариант макросом выделяете ячейки с формулами и запускаете макрос:Код ? 123456789101112Sub dsd()Dim cell As Range, rng As Range, arr, NL As StringNL = "'с:\Результат\[План1_19.xlsm]Gruppe_GB_4'!"Set rng = SelectionFor Each cell In rngIf Left(cell.FormulaLocal, 1) = "=" Then    arr = Split(cell.FormulaLocal, "!", -1)    x = arr(UBound(arr))    cell = "=" & Mid(cell.FormulaLocal, 2) & "-" & NL & xEnd IfNext cellEnd Sub
Класс! Спасибо большое! Сработало
Страницы: 1
Наверх