Удаление при печати пустых строк

Автор Unycom, 11 января 2018, 08:59

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

Unycom

#15
Цитата: economist от 14 января 2018, 20:04
Цитата: Unycom от 13 января 2018, 19:03Научился вставлять макрос, запускать.
Это (запуск по требованию) - уже делается кнопкой во вложенном в сообщение #8 файле ODS. Согласен, я его, как и любое другое вложение на Форуме - тоже плохо замечаю.

Что касается скрытия строк с формулами, возвращающими пустой текст "" - мой макрос работает в гостях, тут LO 5422, т.к. строка

If r.value="" Then r.entirerow.hidden=true

проверяет как раз значение (value) ячейки - неважно формулой оно возвращено, или же это просто пустая ячейка.

Но формулы из поста #12 крайне неоптимальны, перемудрены. Автору формул стоит функции AND OR NOT и их русских эквивалентов И ИЛИ НЕ, благо в Инете полно инфы - стоит изучить, а формулы в Calc - в один миг становятся "русскими" благодаря людям в т.ч. с нашего Форума, снятием одного флажка.

Плюс русских формул - не в унижении тру-программистов, а в том что написанное в Интернете - никуда не исчезает, и при первом же примитивном поиске "вхухле" - помощь в подобных вопросах, подсказанная для Excel - станет помощью в OpenOffice|LibreOffice Calc, убойной силой от не "просто конкурента", а от "лучшей программы в мире", изменившей историю (см. Wikipedia). Сделать недостаток - силой, слабость - преимуществом, причем ключевым - это было просто гениально! Так и должно действовать СПО - нагло, хитро, безбоязненно, точечно. Надо отдать должное - впервые это позволил себе именно OpenOffice...

Странный этот эффект - связан с тем что VBA-программистов, возможно, уже миллиард, это единственная технология, которую не отключат злые админы, им это непросто и тупо "сложновато", ввиду собственного flash-скудоумия и "упрятанности" самой технологии. Этот как "право матерится на кухне", как право "залазить своей жене в трусы, незаметно, на людях", - извиняюсь за аналогию. И если этого вы не делали - плохо, вы не использовали прекрасный момент. Почему же?

Да потому что конкуренция, "битва на смерь". Сру-проггеры (true, почти "thru", насквозь), те самые, которые на С, JAVA итп (список неполон) - очень сильно (бываете-же!) обласканы славой денег - очень ревностно относятся к тому, когда кто-то "юзверь" - взял да и написал программу безо всякого скилла, просто потому что он знает, что нужно получить, а Интернет у него есть. Если вы думаете что такого не бывает - поверьте: именно это до сих пор определяет расстановку сил в IT, даже в крупных компаниях. Но в продвинутом Google - вам дадут денег за любую инициативу, а в отечественной РН - наверняка нет.
Добрый вечер!
Спасибо что помогаете.
К сожалению данный макрос не скрывает формулы, где присутствует знак - &" "&
Подскажите пожалуйста, что можно сделать?
Как пример, вставил в Ваш файл =Лист2.I18&" "&Лист2.J18, создал Лист2, в итоге не скрывается.

При чем с этой формулой работает =Лист2.I18&Лист2.J18

Так скрывается =Лист2.I18&""&Лист2.J18
Так нет               =Лист2.I18&" "&Лист2.J18

bigor

#16
так значение ячейки
Цитата: Unycom от 14 января 2018, 19:17Лист2.I18&""&Лист2.J18
, если i18 и j18 пустые - пусто, и макрос строку скрывает

а вот так
Цитата: Unycom от 14 января 2018, 19:17=Лист2.I18&" "&Лист2.J18
, значение ячейки даже при пустых i18 и j18 - пробел. Поэтому макрос "видит", что ячейка не пустая и  не скрывает строку.

Если пробелы тоже нужно скрывать, то измени условие на
If trim(r.value)=""  Then r.entirerow.hidden=true
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Unycom


economist

Пробела " " в формуле ТС я не заметил, некоторые "красивые" шрифты очень плохо кажут пробельные символы.
Если нужно скрыть не только пустые, но и строки с ячейками с определенным значением - можно развить тему, содеинив несколько условий через OR, например:   

If trim(r.value)="" OR r.value="скрыть" Then r.entirerow.hidden=true
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...