Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

22 Сентябрь 2017, 19:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Последняя заполненная ячейка в заданном столбце LO Calc  (Прочитано 700 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ost
Пользователь
**
Offline Offline

Сообщений: 71


« Стартовое сообщение: 8 Июль 2017, 04:20 »

Доброго. Не соображу, как программно определять адреса последних заполненных ячеек в заданных столбцах? Программно перебрать столбцы смогу самостотельно. Особенность в том, что  различные столбцы имеют разное количество заполненных ячеек, которые не обязательно будут образовывать непрерывный заполненный данными диапазон. Т.е. в столбцах с данными будут встречаться незаполненные данными ячейки.
Как найти адрес последней заполненной ячейки в конкретном столбце? Поможите, пожалуйста.
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 316


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 8 Июль 2017, 09:47 »

Не сложно
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
economist
Ветеран
*****
Offline Offline

Сообщений: 687


« Ответ #2: 10 Июль 2017, 09:13 »

Если задействовать в LibreOffice Calc язык SB+VBA - сразу станет доступна целая куча простых и ясных методов работы с диапазонами:
Код:
Option VBASupport 1
Option Compatible

Sub GetLastCellWithValueFromColumn()
gde=Range("B65536").End(xlUp).row
Cells(gde,2).Select
End sub
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
ost
Пользователь
**
Offline Offline

Сообщений: 71


« Ответ #3: 12 Июль 2017, 19:05 »

JohnSUN,
спасибо. Круто. Думал, что для решения задачи придется писать отдельную процедуру.
Записан
ost
Пользователь
**
Offline Offline

Сообщений: 71


« Ответ #4: 12 Июль 2017, 19:07 »

Если задействовать в LibreOffice Calc язык SB+VBA
В данном случае этот способ не подходит поскольку весь остальной код написан на чистом SB. Менять уже ничего не буду. Для других задач обязательно попробую "Option VBASupport 1".
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 687


« Ответ #5: 14 Июль 2017, 10:22 »

ost - не обманывайте общественность, этот способ подходит.

Option VBASupport 1  не делает код SB "грязным". Это просто включает расширенную лексику языка программирования StarBasic. Зато краткость и легкость понимания кода - вырастают в разы. Я это делаю по умолчанию всегда и всем советую. Лично у меня на код из #3 уйдет 30 секунд, на #2 - 3 минуты. Разница больше чем в 5 раз. Именно настолько "дороже" программирование на чистом StarBasic.   

Calc до сих пор не-Excel не из-за внешнего вида или поведения Автофильтра - а из-за StarBasic. Пусть не все используют макросы, но те, кто в офисах принимают решения о покупке ПО (в РФ его в бизнесе более 1,5 млн. экз на сумму 11 млрд. рублей) - эти люди макросы используют или 100% знают, что без макросов - электронные таблицы ничем не лучше Блокнота.
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!