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

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

6 Март 2021, 17:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Сообщений: 3


« Стартовое сообщение: 15 Март 2013, 13:41 »

В общем нужно посчитать количество ячеек синего и красного цвета в строке, это примерно я понял как сделать, теперь, собственно, нужно при изменении фона вызывать этот макрос. Кто-нибудь подскажет по этому поводу?
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

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


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


WWW
« Ответ #1: 15 Март 2013, 16:05 »

Макрос оформил функцией? Или процедурой? Было бы лучше, если бы функцией. Тогда можно просто к вызову функции "прикрутить" вызов какой-нибудь стандартной функции, которая вызывается при любом изменении на листе. Например, RAND() или NOW(). Тогда и "цветная" функция будет вызываться сразу же после изменения.
Например, если пользуешься расширением  cellcolor-0.0.1.oxt (и еще раз СПАСИБО, Рыбка РиоВсё хорошо), то вместо формулы
Код:
=ЦВЕТФ(C2)
напиши
Код:
=ЦВЕТФ(C2)+INT(RAND())
Записан

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

Сообщений: 3


« Ответ #2: 15 Март 2013, 16:36 »

Немного не понял как "прикрутить" к стандартной функции. Еще раз попробую объяснить. Есть строка, там в ручную будет меняться фон, в конце строки есть поле, с вызовом макроса вида =WD(ROW()) (правда сейчас идет привязка к строке, но это недолго поправить), соответственно макрос срабатывает когда ввожу в формулу данную команду, вот хотелось бы при ручном изменении фона - отрабатывал данный макрос.
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

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


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


WWW
« Ответ #3: 15 Март 2013, 17:07 »

Да-да, всё верно... Функция WD что возвращает? Целое число, которое означает цвет в RGB? А функция RAND возвращает число от 0 до 1. Если результат RAND округлить с помощью INT, мы всегда будем получать ноль, так? А если к целому числу, которое вернула функция WD, мы добавим ноль - что изменится? Почти ничего. Результат будет тем же, что и без +INT(RAND()), но зато WD будет пересчитываться при каждом изменении листа...
Попробуй написать
Код:
=WD(ROW())+INT(RAND())
и расскажи нам, как оно стало работать...
Записан

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

Сообщений: 3


« Ответ #4: 15 Март 2013, 17:16 »

Превилико благодарен все получилось. Спасибо большое!!!
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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