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

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

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

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

Сообщений: 1


« Стартовое сообщение: 13 Февраль 2017, 09:42 »

Надо заставить с помощью макроса автоматически запускать расширенный фильтр при вводе условий.
Нашел скрипт для MS Office (в MS'овском все получилось сделать), но в Libre Office не могу заставить его работать. Что я делаю не так?


Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:I5")) Is Nothing Then
        On Error Resume Next
        ActiveSheet.ShowAllData
        Range("A7").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
    End If
End Sub
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 984


« Ответ #1: 13 Февраль 2017, 10:58 »

Объектная модель Excel и Calс - разные.
Некоторые методы, типа Intersect - отстутсвуют или называются по-другому.
Поэтому VBA-обработка события Change из Excel не заработает в Calc. Нужно переписывать.
Не всегда переписать проще, чем написать заново, возможно даже не через Автофильтр.

Если мне, скажем, нужно скрыть отрицательные строки, то в Calc заработатет вот такой код:

Код:

Option VBASupport 1
Option Compatible
'-----------------------------------------------
Sub PsevdoAutoFilter()
For each n in [A8:A1000]
If n.Value<0 then n.EntireRow.Visible = false
End SUb



 
Записан

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

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #2: 13 Февраль 2017, 11:30 »

Для начала на главной странице форума в окошко поиска забейте Расширенный фильтр, начните читать с темы макрос для запуска расширенного фильтра в Calc-е?, потом остальные.
Записан

Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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