Есть некие таблицы, где в одном столбце может находиться искомое значение (текст или число, формула). Нужно аналогично массовой замене значений через ctrl+f заменять значения, которые соседствуют с ячейкой, где найдется совпадение. Саму ячейку с совпадающим значением менять не требуется. В качестве примера: должны измениться числовые значения напротив ячеек с текстом "Замена" (выделены цветом). https://imgur.com/P9YEvwZ (вставка картинок не работает) Каким образом можно такое сделать? Может потребоваться чтобы замена работала только в выделенном диапазоне или конкретном листе. Excel 2019 версии.
Если структура таблицы как на картинке, то отфильтровать необходимое значение, в нужном столбце таблицы выделить все видимые ячейки и заменить на нужные значения. Если структура таблицы произвольная, то сначала привести всё к нормальному виду. От версии Excel не зависит.
написал: Если структура таблицы как на картинке, то отфильтровать необходимое значение, в нужном столбце таблицы выделить все видимые ячейки и заменить на нужные значения. Если структура таблицы произвольная, то сначала привести всё к нормальному виду. От версии Excel не зависит.
Структура произвольная и никаким образом к "нормальному виду" неизменяемая. Есть только закономерность типа: ячейки для изменения находятся в соседней справа от искомой.
Sub myReplace()
'Выделить ячейки с заменяемыми значениями. Запустить макрос.
Dim rn As Range
On Error Resume Next
Set rn = Intersect(Selection, ActiveSheet.UsedRange)
On Error GoTo 0
If rn Is Nothing Then Exit Sub
Application.EnableEvents = False
Dim Application_Calculation As Long
Application_Calculation = Application.Calculation
Application.Calculation = xlCalculationManual
Dim cl As Range
For Each cl In rn
cl.Cells(1, 2).Value = Replace(cl.Cells(1, 2).Value, cl.Value, "")
Next
Application.Calculation = Application_Calculation
Application.EnableEvents = True
End Sub