Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Может ли функция запустить процедуру?
 
Пытаюсь освоить VBA. Возник вопрос, может ли функция запустить процедуру. К примеру процедура My_color закрашивает ячейку цветом. А функция adr_color при определённом условии запускает My_color. И можно ли параметры функции передать в параметры процедуры.
Для чего это нужно: функция не может влиять на свойства ячейки (?). Функцией запускаю процедуру и закрашиваю нужную ячейку.
 
Фрезератор, а самому попробовать?
Я сам - дурнее всякого примера! ...
 
Да я пытаюсь. Шас чего нибудь наляпаю.
 
Когда функция вызывается из ячейки, то VBA не позволяет менять что-либо (например, цвет) в объектах: ячейках, листах, книгах, диаграммах и т.п. Есть одно кривое исключение, но его лучше даже не рассматривать.
А если код запускается из VBA, и при этом вызывается функция, то ей позволено всё, что позволено и процедуре (Sub).
Изменено: ZVI - 20 Сен 2013 09:52:53
Vladimir Zakharov
Microsoft MVP – Office Apps & Services
 
Цитата
Для чего это нужно: функция не может влиять на свойства ячейки (?). Функцией запускаю процедуру и закрашиваю нужную ячейку.
А как Вы это представляете? Ну, по шагам, с учетом включенного автопересчета функций в excel.
 
Цитата
Есть одно кривое исключение, но его лучше даже не рассматривать.

а почему и какое?  :)

по моему опыту - функция может изменять имена. я делал так: функция( udf) определяет имя, затем по событию пересчета(например, этой же udf) запускается процедура, которая читает имя(берет из него параметры) и выполняет нужные действия..

нет, не может изменять имена - я по-другому делал - просто возвращал в ячейку строку с уникальным содержимым(именем) и параметрами, а дальше все как писал выше
Изменено: Слэн - 20 Сен 2013 13:53:55
Живи и дай жить..
 
Слэн: Как функцией пользователя изменить значение другой ячейки
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
прикольно.
Живи и дай жить..
Страницы: 1
Читают тему (гостей: 1)
Наверх