Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2013, 07:34   #1
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию Макрос для автоматического проставления статуса при изменении цвета ячейки

Добрый день.
Друзья нужна ваша помощь, сам я не селен в макросах. Нужен макрос, который бы автоматически менял статус на "Истек срок" в колонке "H", при изменении заданного цвета в ячейке столбца "К".
(Пример во вложении).
Вложения
Тип файла: zip Книга1.zip (28.1 Кб, 23 просмотров)
Сергей Ш. вне форума Ответить с цитированием
Старый 14.08.2013, 13:32   #2
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

Может есть какая-нибудь формула? Или через условное форматирование?
Сергей Ш. вне форума Ответить с цитированием
Старый 14.08.2013, 14:00   #3
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Код:
Sub Кнопка1_Щелчек()
Dim R As Range
For i = 6 To ActiveSheet.UsedRange.Rows.Count
    Set R = Cells(i, 11)
    If Cells(i, 11).Interior.Gradient.ColorStops.Item(2).Color = 9869055 Then
        R.Offset(0, -3).Value = "Срок истек"
    End If
Next i
End Sub
maksim_serg вне форума Ответить с цитированием
Старый 14.08.2013, 16:12   #4
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

Спасибо большое.
А есть способ, что бы это все происходило автоматически, без нажимания на кнопку макроса?
Сергей Ш. вне форума Ответить с цитированием
Старый 14.08.2013, 16:24   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

даже более того, все можно сделать без макросов:
на условном форматировании подкрасить ячейку
в другую вписать нужный текст надо только понимать где находится контрольная дата и с чем ее сравнивать (например с СЕГОДНЯ())
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.08.2013, 16:25   #6
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

конечно есть, нужно всего лишь перехватить событие изменения заливки ячейки и повесить этот макрос на него. Или ввести дополнительный столбец, где будет отмечаться в ручную статус, а потом через формулу менять ваш столбец со статусом. Или заменить статус на формулу, что то типа =если(дата2>дата1;ячейка="готово";я чейка="просрочено")
maksim_serg вне форума Ответить с цитированием
Старый 14.08.2013, 16:50   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
лишь перехватить событие изменения заливки ячейки
очень интересно, можно подробнее, полагаю не я один не знаю о существовании такого рода события.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.08.2013, 16:55   #8
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

где то давно, когда еще совсем не интересен был VBA видел исходник по перехвату всех сообщений от созданной формы с помощью собственных классов (вроде так). Наверняка и тут так можно. Может я ошибаюсь
maksim_serg вне форума Ответить с цитированием
Старый 14.08.2013, 16:56   #9
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Про определение изменения заливки ячейки с помощью таймера - тихо молчу)))
maksim_serg вне форума Ответить с цитированием
Старый 14.08.2013, 21:19   #10
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Цитата:
Сообщение от maksim_serg Посмотреть сообщение
Про определение изменения заливки ячейки с помощью таймера - тихо молчу)))
Фига се это как? Таймер на год запускать если дата через год истечет?
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос изменения цвета шрифта ячейки, при наличии определенной буквы Alex_91 Microsoft Office Excel 8 24.05.2012 21:44
StringGrid -при изменении фона ячейки закрашивается и текст(( 6AZblJlb Помощь студентам 3 30.11.2010 14:16
Сброс цвета некоторых слов при изменении стиля текста 3D.KENWOOD Microsoft Office Word 11 23.06.2010 20:42
запуск макроса при изменении ячейки Бонни Microsoft Office Excel 2 26.04.2010 11:44
сохранение изменений в DBGrid/DBGridEh, при изменении фокуса ячейки dalien БД в Delphi 6 30.07.2009 15:36