Заменить макросом значения в формулах массива (Excel) - VBA
Формулировка задачи:
Доброго времени.
На нескольких листах есть формулы массива, в них макросом надо заменить куски "э140" на "э141"
Пробую так:
cel.FormulaArray = FA не работает. Пишет "нельзя установить свойство FormulaArray класса Range".
Я понимаю, что ему не нравится мой метод выбора ячейки. Как сделать правильно?
Листинг программы
- Dim SKV as String
- SKV = "э141"
- Dim FA As String
- For Each iSheet In ThisWorkbook.Worksheets 'на всех листах
- For Each cel In iSheet.UsedRange.Cells 'для каждой ячейки
- If cel.FormulaArray Like "*э140*" Then 'если формула массива содержит "э140"
- FA = Replace(cel.Formula, "э140", SKV) 'собираем строку, заменяя "э140" на "э141"
- cel.FormulaArray = FA 'пытаемся записать нашу фомулу в качестве формулы массива в ячейку.
- End If
- Next cel
- Next
Решение задачи: «Заменить макросом значения в формулах массива (Excel)»
textual
Листинг программы
- Cells.Replace What:="э140", Replacement:="э141", LookAt:=xlPart
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д