Страница: 1 |
Вопрос: Пользовательская функция | Добавлено: 12.07.06 19:59 |
Автор вопроса: ![]() |
Люди, кто знает как сделать п. ф. которая в качестве параметра принимает обычную ссылку на ячейку и меняет ее цвет.
что-то типа Public Function ChangeColor(...) ... End Function В ячейке А1 пишем =ChangeColor(C3) и ячейка С3 становится, например красной. Такое вообще возможно? |
Ответы | Всего ответов: 13 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #1 | Добавлено: 12.07.06 23:23 |
Функциям листа запрещено менять лист. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 5 |
Профиль | Цитата | #2 | Добавлено: 12.07.06 23:28 |
Но содержимое ячейки я могу изменить. Это тоже изменение листа. Кроме того по собвтию кнопки я могу на этом же листе изменить цвет.
Не работает только вызов функции из формулы |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #3 | Добавлено: 13.07.06 00:29 |
Функциям листа запрещено менять лист.
Функциям, вызываемым с листа. Ы? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 5 Ответов: 276 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 13.07.06 09:19 |
____ А существует ли в VBA возможность "назначить" выполнение процедуры через некоторое время (аналогично созданию таймера в javascript)? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 188 |
Профиль | Цитата | #5 | Добавлено: 13.07.06 10:36 |
См. в Help VBA: OnTime |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 5 |
Профиль | Цитата | #6 | Добавлено: 13.07.06 12:16 |
Что все-таки значит Функция листа ? Пользовательская функция располагается в отдельном модуле и не принадлежит ниодному листу, а может быть вызвана с любого. При вызове такой функции с одного листа она не меняет цвет ячейки ни на своем, ни на другом листе.
Что-то здесь не так. |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() Вопросов: 11 Ответов: 160 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 13.07.06 18:19 |
Функция вызванная с листа может только возвратить значение в ячейку (в которой она находится). Лутше употреблять термин "формула", так понятней.
В Вашем случае - попробуйте условное форматирование. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 5 |
Профиль | Цитата | #8 | Добавлено: 13.07.06 21:27 |
Большое спасибо, конечно, но что такое "условное форматирование". Как это на VBA выглядит? |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() Вопросов: 11 Ответов: 160 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 14.07.06 22:18 |
Меню-Формат-Условное форматирование
Если на VBA, включи макрорекордер и посмотри код. |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 5 |
Профиль | Цитата | #10 | Добавлено: 14.07.06 23:39 |
Спасибо, но это немного не то. Тем более условия для ячейки храняться черт знает где и при копировании не меняются. Т. е. нельзя указать дя одной и потом растащить, как формулу. |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #11 | Добавлено: 15.07.06 00:11 |
Можно всё растащить. |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() Вопросов: 11 Ответов: 160 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 15.07.06 20:46 |
В ячейку А1 вводим -5
В ячейку B1 Меню-Формат-Условное форматирование в первом комбо выбираем формула, вписываем например =A1>0, выбираем цвет фона или ещё чего-нибудь нажимаем кнопку А также>> делаем второе условвие =A1=0 ......=A1<0 ...... К сожалению условий только три. Выделяем ячейки A1:B1 и растягиваем. Напишите что Вы хотите получить в результате, может быть кто-либо подскажет оптимальный вариант решения. |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 5 |
Профиль | Цитата | #13 | Добавлено: 15.07.06 20:50 |
Спасибо все уже получилось, правда с использованием условного форматирования. |
Страница: 1 |
|