Доброго времени суток, Уважаемые Программисты! Может кто нибудь знает как обозначить цвет в формулах?
к примеру есть функция =ЕСЛИ(A1= "желтый" ;0;1) "желтый" - как обозначить этот цвет ?
Пользователь
Сообщений: Регистрация: 31.12.2012
06.11.2012 22:18:33
Только-что отвечал на такой вопрос на другом форуме Моё предложение: написать свою функцию определения цвета и вызывать её для проверки
Пользователь
Сообщений: Регистрация: 01.01.1970
06.11.2012 22:24:25
знать бы еще как это сделать...)
Z
Гость
06.11.2012 22:33:30
{quote}{login=Lancelot-r}{date=06.11.2012 10:24}{thema=}{post}знать бы еще как это сделать...){/post}{/quote} Сидя на месте?.. Однако - . ;) -97416-
Пользователь
Сообщений: Регистрация: 01.01.1970
06.11.2012 23:15:48
Спасибо, Z... я читал эту тему прежде чем создать тему... добавил надстройку, воспользовался командой Cell_Color с ссылкой на ячейку с заливкой, пишет ошибка в значении... я все правильно сделал?
Пользователь
Сообщений: Регистрация: 22.12.2012
06.11.2012 23:22:38
Не совсем понял, что нужно сделать. Распишите более подробней и выложите файл. А я Вам напишу UDF
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Пользователь
Сообщений: Регистрация: 01.01.1970
06.11.2012 23:39:53
мне нужно что бы формула "=если()" производила вычисления в зависимости от заливки ячейки, если есть заливка определенного цвета, то "истина", если нет то "ложь"
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Пользователь
Сообщений: Регистрация: 22.12.2012
07.11.2012 00:30:23
А цвет заливки у Вас определяется ни содержимым ли ячейки? Это не УФ?
Пользователь
Сообщений: Регистрация: 01.01.1970
07.11.2012 01:29:33
LightZ, спасибо, все получилось!!! пару месяцев назад сидел ломал голову как это сделать, так и не понял, пришлось отказаться от идее и решать задачу цифрами, захламляя документ... а теперь разобрался и могу все исправить!)
iba2004, спасибо за интерес! нет, это не условное форматирование...ячейки заливают в ручную...
Пользователь
Сообщений: Регистрация: 22.12.2012
07.11.2012 01:35:15
Только изменение заливки UDF не отслеживают - нужно или запускать вручную пересчёт, или запускать его макросом например при переходе на другую ячейку.
Guest
Гость
07.11.2012 02:29:37
а есть еще какие нибудь варианты решения этой задачи, кроме UDF ? (честно сказать я даже не знаю что это такое, но принцип понял) макрос-выход!!!
Пользователь
Сообщений: Регистрация: 01.01.1970
07.11.2012 03:45:25
в теме меня интересует функция Cell_Color - для определения числового кода цвета заливки.
но там есть дополнение ко всем функциям данной темы: "Если необходимо учесть возможность пересчета функции при изменении данных на листе, то: В редакторе VBA в модуле с нужной функцией раскомментируйет строку Application.Volatile
Если её нет - допишите, сразу после имени функции Function Color_Count(...) Application.Volatile
Color_Count - приведена в качестве примера."
может кто нибудь подскажет как это сделать? не могу найти модуль с функцией... по любому что то делаю не правильно и не там ищу...
Пользователь
Сообщений: Регистрация: 22.12.2012
07.11.2012 10:48:09
Блин... забыл поставить Volatile, сами сможете добавить? т.к с телефона сейчас сижу %)
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Пользователь
Сообщений: Регистрация: 01.01.1970
07.11.2012 18:19:13
The_Prist, прошу прощения, но я практически не разбираюсь в VBA... открыв редактор, нашел свою книгу, развернул, увидел только "Microsoft Excel Objects", там только "лист 1(лист 1)", "лист 2(лист 2)", "лист 3(лист 3)", "Эта книга".
добавил стандартный модуль, записал в нем: Function Cell_Color() Application.Volatile End Function сохранил и функция стала писать "ошибка в значении"
может подскажите что нужно было сделать?
LightZ, еще раз спасибо, но я не понимаю что значит "Volatile"...
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Guest
Гость
08.11.2012 14:07:07
LightZ? Спасибо! я так понимаю, из поста Hugo, что бы эта функция пересчитывалась без ручного пересчета, нужно написать макрос: "автоматический пересчет листа при изменении заливки любой из ячеек этого листа"?
Guest
Гость
08.11.2012 15:08:51
разобрался... просто до этого случайно удалил часть функции... теперь функция пересчитывает, при изменении цвета ячейки, только после того как активируется любая из ячеек листа! интересно...а можно ли сделать так что бы она пересчитывала при изменении цвета ячейки, БЕЗ активации ячеек...? дело в том, что в документе в котом это необходимо применить, при защите листа пользователь может только пользоваться выделением ячеек при форматировании (ТОЛЬКО выделять ячейки и изменять заливку), а при этих действиях пересчет не производиться...
Нет, на изменение заливки Microsoft событие не придумал, тут ничего не сделаешь. Про это я и говорил на предыдущей странице. Заставляйте их F9 нажимать, если макрос на выделение ячеек не работает (хотя такое событие тоже срабатывает только после ухода с ячейки, а не при изменении цвета - что не совсем правильно, юзер может посчитать старый результат за новый).