Страницы: 1
RSS
Превращение текста в ячейке в формулу макросом
 
Здравствуйте!
Подскажите, пожалуйста, есть ли возможность посредством макроса (нужно именно макросом!) заменить текст в ячейке на формулу. Записанный макрорекордером код не отрабатывает при запуске.
Нужно, например, текст в ячейке С1 "А1+В1" (без кавычек) заменить макросом на формулу =А1+В1
 
Код
range.formula="=" & range

где RANGE - эта та самая ячейка
По вопросам из тем форума, личку не читаю.
 
БМВ, от души!
Работает:

Код
Sub q()
'
' замена на формулу
'
Range("C1").Formula = "=" & Range("C1")
'
End Sub
 
БМВ, будьте добры, помогите дальше)
Вставил в пример длинную формулу - не работает (ошибка: run-time error 1004 application defined or object defined).
Код
Sub q()
     Range("AI3").Formula = "=" & Range("AI3")
End Sub

Та же ошибка этого варианта в случае длинной формулы(
Код
Sub q()
     ThisWorkbook.Sheets("1").Range("AI3").Formula = "=" & ThisWorkbook.Sheets("1").Range("AI3")
     'ThisWorkbook.Sheets("1").Cells(3, 35).Formula = "=" & ThisWorkbook.Sheets("1").Cells(3, 35)
End Sub
 
Цитата
aesp написал: Вставил в пример длинную формулу - не работает
Дело не в длине. Перед вставкой формулы макросом нужно проверить ее работоспособность. А она выдает ошибку. Ошибка вызывает ошибку вставки.
 
vikttur, сорри, вот второй пример. Проверил несколько раз. Установка знака равно вручную в формулу превращает!
Изменено: aesp - 29.05.2021 13:11:00
 
#ДЕЛ/0! -это не ошибка, по-Вашему?
 
Вить, собака не тут порылась.
aesp, Formula и FormulaLocal - это разные вещи. Вы пытаетесь вставить FormulaLocal.
Изменено: RAN - 29.05.2021 13:45:16
 
vikttur, это нормально, просто в примере нет данных для формулы (пустые ячейки). Проблема в остановке макроса с ошибкой, которую указал выше.
Изменено: aesp - 29.05.2021 13:47:58
 
RAN, благодарю! Смутно догадывался в чём причина, но не знал, как реализовать!
Тема закрыта! Всем спасибо)

Код
Sub q()
'
'ГОТОВО!превращение в ФОРМУЛу
ThisWorkbook.Sheets("1").Range("AI3").FormulaLocal = "=" & ThisWorkbook.Sheets("1").Range("AI3")

End Sub
Страницы: 1
Наверх