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

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

20 Август 2018, 18:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2   Вниз
  Печать  
Автор Тема: Автоматическая фильтрация в документе.  (Прочитано 1187 раз)
0 Пользователей и 1 Гость смотрят эту тему.
OOKapitan
Старожил
****
Offline Offline

Сообщений: 320


« Стартовое сообщение: 29 Январь 2018, 13:31 »

      Здравствуйте.
      Помогите, пожалуйста.
      Имеется большоооой файл, заполненный количеством и ценами. Но количество в столбце заполняется только напротив нужных позиций. По столбцу с количеством затем делается фильтр по условию: значение больше либо равно 1. Сейчас я это делаю руками. Но, хоть процесс и относительно быстрый, это занимает многовато времени. Пробовал записать действия макрорекордером - записанный макрос выполняется ооооооооооооочень долго. Может кто сможет записать макрос, который бы работал пошустрее? Помогите, пожалуйста.

* ПРИМЕР_ФИЛЬТРА.xls (349.5 Кб - загружено 5 раз.)
« Последнее редактирование: 29 Январь 2018, 13:36 от OOKapitan » Записан
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 288


« Ответ #1: 29 Январь 2018, 14:28 »

А после фильтра, что с данными делаете? Может быть не фильтровать можно, а скрывать ненужные строки, недавно такая тема была?
Записан
OOKapitan
Старожил
****
Offline Offline

Сообщений: 320


« Ответ #2: 29 Январь 2018, 14:34 »

А после фильтра, что с данными делаете?
Важно, чтобы отображались только строки, в которых в колонке J стоит цифра отличная от нуля. И строка с итогом. И строка номер 2.
« Последнее редактирование: 29 Январь 2018, 14:36 от OOKapitan » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

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


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


WWW
« Ответ #3: 29 Январь 2018, 14:34 »

И что делать с подзаголовками? Ну, с этими длинными промежуточными названиями? Выбросить? Или дописать к результату слева?
(И почему xls?)
Записан

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

Сообщений: 320


« Ответ #4: 29 Январь 2018, 14:35 »

И что делать с подзаголовками? Ну, с этими длинными промежуточными названиями? Выбросить? Или дописать к результату слева?
(И почему xls?)
1) как угодно.
2) На работе работаем только с этим форматом. Тем более что у босса эксель.
Записан
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 288


« Ответ #5: 29 Январь 2018, 14:47 »

тогда смотри здесь: http://forumooo.ru/index.php/topic,6909.0.html
вот с учетом исправлений
Код:
REM  *****  BASIC  *****
Option VBASupport 1

Sub test_filtr
Application.ScreenUpdating=false
For Each r in [j5:j2500] ' до 2500-й строки как в твоем примере
If r.value < 1 Then r.entirerow.hidden=true
Next
Application.ScreenUpdating=true
End Sub


p.s. я так понимаю что количество строк у таблицы может меняться, поэтому нужно еще приделать функцию определения последней строки
« Последнее редактирование: 29 Январь 2018, 14:50 от Bigor » Записан
OOKapitan
Старожил
****
Offline Offline

Сообщений: 320


« Ответ #6: 29 Январь 2018, 14:57 »

p.s. я так понимаю что количество строк у таблицы может меняться, поэтому нужно еще приделать функцию определения последней строки
Не стоит заморачиваться. Больше 3000 строк ещё ни разу ни у одной таблицы не было.
Записан
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 288


« Ответ #7: 29 Январь 2018, 14:59 »

а диапазон будешь каждый раз руками править Улыбка тогда фильтровать быстрее получится
Записан
OOKapitan
Старожил
****
Offline Offline

Сообщений: 320


« Ответ #8: 29 Январь 2018, 15:01 »

вот с учетом исправлений
Неа, не работает. Сначала ругался на строку отключения обновления экрана. Удалил её. Теперь выдаёт ошибку - см. скрин


* ОШИБКА.jpg (248.03 Кб, 1366x768 - просмотрено 8 раз.)
Записан
OOKapitan
Старожил
****
Offline Offline

Сообщений: 320


« Ответ #9: 29 Январь 2018, 15:02 »

а диапазон будешь каждый раз руками править
Выставлю один раз до 3000 и всё.
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

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


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


WWW
« Ответ #10: 29 Январь 2018, 15:02 »

Слушай, а каково назначение L1:CW2? Впервые с такими довесками встречаюсь
Записан

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

Сообщений: 320


« Ответ #11: 29 Январь 2018, 15:03 »

Слушай, а каково назначение L1:CW2?
Мне дают уже такой файл с довеском. И я с ним работаю. Как получается довесок - не знаю.
Записан
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 288


« Ответ #12: 29 Январь 2018, 15:05 »

а диапазон будешь каждый раз руками править
Выставлю один раз до 3000 и всё.
тогда строка итого скроется - там кол-во =""
фильтруй тогда не по количеству, а по сумме исправь j на k
« Последнее редактирование: 29 Январь 2018, 15:07 от Bigor » Записан
OOKapitan
Старожил
****
Offline Offline

Сообщений: 320


« Ответ #13: 29 Январь 2018, 15:13 »

тогда строка итого скроется - там кол-во =""
И фиг с ней. Это не критично.
А что по ошибке?
Записан
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 288


« Ответ #14: 29 Январь 2018, 15:20 »

По ошибке, скорее всего твой openoffice еще не умеет так хорошо работать с vba как libre Грустный
Записан
Страниц: 1 2   Вверх
  Печать  
 
Перейти в:  

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