Исправление ошибки "непарные круглые скобки"

Автор Konstanta, 25 октября 2019, 09:05

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

Konstanta

Приветствую всех!

Простой макрос (поиск последней строки с переходом на число шагов вправо)
в LO вызывает синтаксическую ошибку "Непарные круглые скобки"

Вот код:
Range("A" & Rows.Count).End(xlUp).Offset(0).Select
ActiveCell.Offset (0;7).Range ("A1").Select

Но все скобки парные! Я не могу понять что именно ему не нравится.

rami


mikekaganski

Цитата: Konstanta от 25 октября 2019, 09:05ActiveCell.Offset (0;7).Range ("A1").Select

Но все скобки парные! Я не могу понять что именно ему не нравится.

Точка с запятой в качестве разделителя параметров?
С уважением,
Михаил Каганский

Konstanta

Так тут и зарыта проблема:
если я ставлю в синтаксисе LO в качестве разделителя точку с запятой, то появляется ошибка не парных круглых скобок.
Если ставлю запятую данная ошибка исчезает и макрос работает, но результат формулы выдаёт ошибку, поскольку LO преобразует формулу по-другому


mikekaganski

Мне кажется, Вы путаете два разных языка.

В языке LibreOffice Basic разделителем параметров функций является всегда запятая. А в языке формул Calc разделитель - точка с запятой. Когда Вы задаёте в бейсике строку формулы для калька, в строке формулы должен использоваться синтаксис калька, а в самом бейсике - синтаксис бейска.
С уважением,
Михаил Каганский

bigor

Если вы макросом хотите вставить формулу в ячейку, как было в начале поста, то нужно использовать точку с запятой, она является разделителем в табличных формулах. В самом коде vba/starbasic ,  разделитель запятая
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Konstanta