Ошибка в работе макроса

Автор AbandonedLight, 26 марта 2020, 19:32

0 Пользователи и 1 гость просматривают эту тему.

AbandonedLight

Добрый день, уважаемые форумчане!
Столкнулся с необходимостью перевода Excel на OpenOffice Calc.
Первая же проблема, которая возникла - ошибка при выполнении макросов
На первой же строчке возникает ошибка BASIC '423' FormulaLocal
Вот строка:
Sub InsertData(j As Integer)
Range("A" & j).FormulaLocal = "=если(" & list_data & "!E" & (i + 1 - iNum) & "="""";"""";" & list_data & "!E" & (i + 1 - iNum) & ")"

Можете, пожалуйста, подсказать, на что идёт ошибка?
Заранее благодарен!

bigor

А что подразумевается под
Цитата: AbandonedLight от 26 марта 2020, 19:32необходимостью перевода Excel на OpenOffice Calc.
если OpenOffice, то скорее всего нужно переписывать все на StarBasic. Если LibreOffice, то может помочь Option VbaSupport 1, но с ним как то интересно все работает, при Range("j" & j).FormulaLocal ругается как вы написали, а если ThisComponent.Sheets(0).getCellByPosition(2,J).FormulaLocal,  то работает

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

У вас где-нибудь определены переменные list_data, i и iNum?


Попробуйте заменить FormulaLocal на Formula
Range("A" & j).Formula = "=ЕСЛИ(" & list_data & "!E" & (i + 1 - iNum) & "="""";"""";" & list_data & "!E" & (i + 1 - iNum) & ")"

AbandonedLight

Спасибо, помогло!
Заменил FormulaLocal на Formula.
Ещё на всякий случай попробую поставить LibreOffice и выполнить в нём.