Страницы: 1
RSS
Очистить ячейку если та что справа окрашена в зеленый цвет, Можно ли придумать для этого макрос?
 
Могут ли макросы очищать ячейку когда ту что справа от нее окрасят в зеленый цвет?

Прилагаю файл и его скриншот

 
А зачем красить? не проще удалять по двойному клику?
 
Там будет много цветов
Каждый из них определяет стадию выполнения заказа
А когда выделим зеленым, нужно очистить, после зеленого - ячейку будем делать прозрачной и устанавливать в ней дату
 
Насколько знаю, по факту заливки - нет. Нужно запускать OnTime и проверять заливку, но это (проверка заливки) - дело долгое.
 
Покраска, потом удаление - не лишнее действие? Проще СРАЗУ удалить ))
 
Товарищи, я понимаю что идеальная деталь та которой нет, а функция выполняется, но здесь логистика действий продумана и отпрактикованая. Процедура такая какой она есть, вопрос в автоматизации процесса
 
Смена форматирования в Excel не вызывает события. По крайней мере, отследить это пользователю не дано. Поэтому только принудительный запуск макроса, который пробежится по ячейкам и проверит заливку.
 
Не айс, конечно, но работает  :)
Пробуйте
 
Sergei_A, почему же не айс, - вполне айс!
Дату вставлять нужно только когда "зеленый этап" пройден и мы убираем заливку с ячейки. такой себе "замок ячейки" - это даже лучше чем хотелось  ;)
Спасибо вам Сергей
 
Sergei_A, а откуда цвет берется, как изменить если что?
 
По мне айс, это когда действие =результат, а здесь два действия= результат. Тем не менее рад, что Вам подошло.
Для этого цвета индекс 43. Для другого будет другой. Узнать индекс можно.

замените эту часть и раскомментируйте строку с msgbox. Кликните по ячейке с заливкой и узнаете её индекс.

Код
1
2
3
4
5
With ThisWorkbook.Names
        .Add "cell_address", Target.Address, False
        .Add "cell_color", Target.Interior.ColorIndex, False
        'MsgBox Target.Interior.ColorIndex
 End With


В коде в двух местах нужно будет поменять номер индекса.
А лучше иметь на листе ячейку-инфо, с заливкой. Тогда программа могла бы для сравнения брать значение из ячейки, а Вы могли бы в любой момент менять цвет, без посещения редактора.
 
Sergei_A, понял, спасибо за замечательный макрос
но на самом деле имею проблемы с экспортом в другой документ
думал что конфликт, но при переносе в чистый документ дает такую же ошибку
Цитата
Run-time error '1004':
Компонент с указанным именем не найден.
 
эхх. там ручками немного надо поработать.
При первом запуске закомментируйте эту строку

If Range([cell_address]).Interior.ColorIndex = 43 Then Range([cell_address]).Offset(, -1).Clear

потом кликните на любой ячейке из тех, что заливаем. После этого раскомментируйте и всё должно заработать
 
Готово, все экспортируется и работает  :D
Всем спасибо за помощь
Изменено: Exhaust_ - 27.03.2013 19:27:41
Страницы: 1
Читают тему
Loading...