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

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

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

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 »   Вниз
  Печать  
Автор Тема: Макрос и Номера листов  (Прочитано 4419 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Bigor
Опытный пользователь
***
Online Online

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


« Ответ #15: 14 Февраль 2019, 15:50 »

Но в листе УФ получается  работает сразу
ну так правильно, я его до вас запускал вот условное форматирование и осталось. Каждый раз при запуске макроса оно "переустанавливается" Улыбка

мне бы хотелось чтобы это условное форматирование и то что сделано  первым  было в одном макросе)
вешай кнопку на test и будет как ты хочешь
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #16: 14 Февраль 2019, 16:08 »

вешай кнопку на test и будет как ты хочешь
Но мне макрос нужно перенести из листа, в общую книгу макросов, чтобы я его прмиенял для любых книг с листами)..
 я перенес. открыл другую книгу с листами , нажал на кнопку Тест - заполнилось все данными как  Вы сделали..
потом нажал на запуск макроса UF  и вышла ошибка: "Ошибка времени выполнения Basic. Аргумент является обязательным."

наверное я что-то не так делаю.((..  извиняюсь за тупость)
Записан
Bigor
Опытный пользователь
***
Online Online

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


« Ответ #17: 14 Февраль 2019, 16:47 »

Не надо uf запускать, он из теста сам запускается
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #18: 17 Февраль 2019, 11:25 »

тока добрался проверить!... все точно работает)..  СПАСИБО  большое!!!  ))
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #19: 16 Октябрь 2019, 15:11 »

ДОброго времени всем..  Не стал заново создавать тему т.к. моя просьба как продолжение этой темы..  мне теперь нужно в макросе дописать чтобы  в результате выделить цветом мининимальное значение  в получившихся цифрах..  
Помогите как это сделать?
Записан
Bigor
Опытный пользователь
***
Online Online

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


« Ответ #20: 16 Октябрь 2019, 16:18 »

Это в столбцах J и L ?
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #21: 16 Октябрь 2019, 16:53 »

Это в столбцах J и L ?
Да.. в этих столбцах мы получаем значения и вот в нужно выделить цветом какое значение минимальное (зеленое) и максимальное (красное),  и так по каждой строчке.
Записан
Bigor
Опытный пользователь
***
Online Online

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


« Ответ #22: 16 Октябрь 2019, 17:04 »

В uf перед end sub вставить
Код:
Dim oCondition1(2) As New com.sun.star.beans.PropertyValue
oRange = ThisComponent.Sheets(List).getCellRangeByName("J11:J100")
oConFormat = oRange.ConditionalFormat
oCondition1(0).Name = "Operator"
oCondition1(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oCondition1(1).Name = "Formula1"
oCondition1(1).Value = "$J1=MIN($J$11:$J$100)"
oCondition1(2).Name = "StyleName"
oCondition1(2).Value = "Good"
oConFormat.addNew(oCondition1())
oRange.ConditionalFormat = oConFormat
это УФ по минимуму в столбце J, для максимума аналогично, только в формуле MIN на МАХ поменять

зы  oCondition1(1).Value = "$J1=MIN($J$11:$J$100)" написано $J1, а после отработки макроса
вижу $J11. Почему непонятно Грустный
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #23: 16 Октябрь 2019, 17:14 »

супер..  спасибо...   попробую вечерком дома)... 
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #24: 17 Октябрь 2019, 07:06 »

Проверил..  немного не то, нужно выдрать минимальное (или максимальное) значение в СТРОКЕ собранных данных.   пример прилагаю. там на Листе1 как раз я выделил зеленым как видеть хочется.
Т.к. Листов может быть и 5 и 10 то и соответственно столбцов будет больше и во в них и нужно построчно видеть минимальное (или максимально) значение выделенное, чтобы глаза не ломать))..

* primer.ods (62.7 Кб - загружено 3 раз.)
Записан
Bigor
Опытный пользователь
***
Online Online

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


« Ответ #25: 17 Октябрь 2019, 21:27 »

В строке же еще может и количество быть, как его от цены фильтровать? И мне кажется от такого количества формул УФ тормоза начнутся
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #26: 18 Октябрь 2019, 09:24 »

А можно просто отдельный макрос сделать? т.е. сначала нажал один макрос УФ..  получил результат..   потом  Нажал и увидел минимум или максимум из того результата)
А отфильтровать кол-во отфильтровать если то  можно тогда в макросе сделать именно конкретные столбцы J L N P R  т.е. как раз те которые с ценами будут получатся..   
а если уж мне больше нужно будет я сам могу потом добавить в формуле..
Записан
Bigor
Опытный пользователь
***
Online Online

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


« Ответ #27: 18 Октябрь 2019, 12:05 »

Для J L N показывает минимум
при желании можно допилить что бы заполненные строки определял ( я сделал просто по 89 на каждом листе)
Для максимума изменить в формуле Min на Max и стиль с Good на Bad

вставить перед end sub в uf
Код:
Dim oCondition1(2) As New com.sun.star.beans.PropertyValue
For j=11 To 100


t= ("$J$"& j &":$N$"& j)

oRange = ThisComponent.Sheets(List).getCellRangeByName(t)

oConFormat = oRange.ConditionalFormat
oCondition1(0).Name = "Operator"
oCondition1(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oCondition1(1).Name = "Formula1"
oCondition1(1).Value = "and(A$"& j &"=MIN($J$"& j &";$L$"& j &";$N$"& j &");A$"& j &"<>"""")"
oCondition1(2).Name = "StyleName"
oCondition1(2).Value = "Good"
oConFormat.addNew(oCondition1())
oRange.ConditionalFormat = oConFormat
next
Записан
ink-service
Участник
**
Offline Offline

Сообщений: 30


« Ответ #28: 18 Октябрь 2019, 21:44 »

Круто).   вроде все работает)  спасибо огромное. 
а если нужно еще пару колонок прибавить? мне просто в формуле можно это дописать?
Записан
Bigor
Опытный пользователь
***
Online Online

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


« Ответ #29: 18 Октябрь 2019, 23:37 »

в формуле можно это дописать?
В макросе нужно будет подправить формулу
1. Для t изменить диапазон на нужный
2. Для oCondition1(1).Value дописать по аналогии столбцы

зы я раньше писал, что при запуске макроса УФ  "переустанавливается". Был не прав, каждый запуск добавляет условие в УФ. Поэтому если макрос запускается в одном файле несколько раз, то желательно периодически сбрасывать УФ
Записан
Страниц: « 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

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