Страницы: 1
RSS
Появление кнопки с макросом в зависимости от значения ячейки
 
Приветствую, о гуру макросов!

У меня есть задача, практически соответствующая этой, но в моём случае не подходит - у меня один макрос. То есть мне нужно, чтобы при появлении в стобце F (начиная с F6) жёлтых и оранжевых значений в столбце H появлялась кнопка с макросом. Макрос у меня уже есть, как присвоить макрос тоже знаю, не знаю как реализовать появление по значению ячейки :)

То есть при зеленом значении в ячейке F6 кнопки быть не должно, а вот при появлении жёлтого и оранжевого - она должна появиться.

Буду рад любой помощи. Заранее спасибо.
 
Breathe of fate,Возможно неправильно понял что нужно.
 
Цитата
Александр П. написал:
неправильно
Правильно! Сначала кнопка сработала, а после второго изменения - нет, то есть поставил меньше 15 дней, - появилась. Потом поменял на 30, и кнопка не скрылась :(
И можно вместо такой кнопки поставить фигуру?
 
Цитата
Breathe of fate написал:
поменял на 30, и кнопка не скрылась
да, я невнимательно прочитал ваше стартовые сообщение
Цитата
Breathe of fate написал:
можно вместо такой кнопки поставить фигуру?
можно, было бы время  :) , на выходных постараюсь переделать, а может и кто то из более опытных форумчан поможет раньше.
 
Цитата
Breathe of fate написал:
при появлении в стобце F (начиная с F6) жёлтых и оранжевых значений в столбце H
А можно вместо жёлтых и оранжевых "значений" указать именно ЗНАЧЕНИЯ? И, может быть, в столбце H?
 
Цитата
Юрий М написал: указать... ЗНАЧЕНИЯ
Легко. Кнопка должна появляться при разнице от сегодняшней даты и ячейки F6 в 14 дней и меньше до минус бесконечности. Можно использовать для этого и столбец G, но я его делал вспомогательным, для упрощения визуализации.

Цитата
Юрий М написал: может быть, в столбце H?
Нет.
Идея в следующем: при просрочке за 2 недели должна появится кнопка, на которую я присваиваю макрос, который отправляет письмо через Outlook (макрос у меня уже этот есть). Потом в столбец H пишу значение, которое мне отправляют в ответ :)
 
Breathe of fate, почему нет? Вы же сами пишете:
Цитата
Breathe of fate написал:
Кнопка должна появляться при разнице от сегодняшней даты и ячейки F6 в 14 дней
А разница где появляется? - разве не в столбце Н?
 
Цитата
Юрий М написал:
- разве не в столбце Н?
Разница считается при окрашивании уже в условиях условного форматирования, а в столце G как раз показывается количество дней до просрочки, т.е. разница. В H я буду вносить присланные мне данные, т.е. новую дату.
 
Breathe of fate, извините: смотрю на столбец G, а пишу про Н ))
Проверьте такую заготовку.
 
Работает! Спасибо! Только одна просьба - а можно перетащить кнопку на столбец J?
 
Легко: поменяйте так:
Код
With Target.Offset(0, 4)
 
И тут я затупил :)
Что именно?
 
Было:
Код
With Target.Offset(0, 2)
Нужно:
Код
With Target.Offset(0, 4)
 
Точно. Не там искал. Спасибо большое всем за помощь!

Цитата
Юрий М написал: Проверьте такую заготовку.
Юрий, а можно Вас попросить ещё написать условие, при котором кпопка скрывается, если в колонке H есть слово "Received"? Что-то у меня мозгов не хватило  :)  
 
По любому из двух условий или одновременно?
 
Одновременно. Смысл в том, чтобы при наличии второй даты кнопка не появлялась, т.к. "старая дата" уже будет недействительной :)
 
Не понял. Вводим дату в ячейку столбца F - кнопка должна появиться, если разница < 15 дней. Но если в ячейке столбца Н есть "Received", то кнопка появляться не должна. Так?
P.S. Зачем намудрили с условным форматированием? Ведь не видно дат...
 
Да, так.
Логика проста: если менее 15 дней - появляется кнопка. На неё я привяжу макрос, котрый будет отсылать письмо. Далее мне в ответ приходит новая дата, я её ручками вбиваю в дату2, в H появляется "Received", пропадает первая дата и, соответственно, у меня уже есть новая дата, и кнопка для отправки письма мне не нужна.

То есть привязать можно и по "Received" и по наличию/отсутствию даты в стоблце I. Если появляется дата - скрыть кнопку.

Ну и ещё пожелание - а воможно кнопку прописать для каждой строки? У меня строк будет много...

Цитата
Юрий М написал:
Ведь не видно дат...
Только в первом случае :) Специально поставил, чтобы отображась только одна дата.
Изменено: Breathe of fate - 29.10.2019 13:55:52
 
Цитата
Breathe of fate написал:
Логика проста: если менее 15 дней - появляется кнопка
15 дней - между какими датами считается? И у Вас ещё формула в столбце G, которая всегда выдаёт пусто.
По поводу УФ: можно ведь было ПОСЛЕ его сделать, чтобы не затруднять понимание.
 
Цитата
Юрий М написал:
15 дней - между какими датами считается?
Между текущей и дата1 (столбец F), как Вы и сделали до этого :)
Надо просто добавить условие скрытия кнопки к тому, что уже есть, если столбец I пуст/содержит значение (там будет только дата, поэтому можно триггерить на любое значение). То есть если в I есть значение (дата2), то кнопка не показывается, если нет - показывается.

Цитата
Юрий М написал:
По поводу УФ: можно ведь было ПОСЛЕ его сделать
В процессе дальнейшего улучшения всегда приходят новые идеи, поэтому так уж вышло...
 
Цитата
Юрий М написал:
у Вас ещё формула в столбце G, которая всегда выдаёт пусто.
А это не даёт возможности менять видимость кнопки.
Цитата
Breathe of fate написал:
В процессе дальнейшего улучшения всегда приходят новые идеи
Не понимаете... Получили решение - начинайте украшательства (УФ), а так - только создаёте трудности.
 
Цитата
Юрий М написал: всегда выдаёт пусто.
Она выдает пусто, если есть дата2 (I), если даты нет - выдаёт разницу дней между сегодняшней датой и датой1(F).

Цитата
Юрий М написал: только создаёте трудности
Хорошо. Мне выложить файл без УФ?
 
Цитата
Breathe of fate написал:
Она выдает пусто, если есть дата2 (I), если даты нет - выдаёт разницу дней между сегодняшней датой и датой1(F).
И какую в этом случае нужно ввести дату в F6, не обращая пока внимания на наличие "Received", чтобы кнопка скрылась?

Цитата
Breathe of fate написал:
Мне выложить файл без УФ?
Не нужно.
 
Цитата
Юрий М написал:
И какую в этом случае нужно ввести дату в F6, не обращая пока внимания на наличие "Received", чтобы кнопка скрылась?
F6 желательно не трогать, т.к. эти даты я хотел бы оставить.

Итак, в F6 вводится дата просрочки (дата1). В G высчитывается разница между датой просрочки и сегоняшним днём. В H показывается напоминание о запросе на продление срока годности, если разница в G составляет менее 15 дней (т.е. 14 и меньше). И в этом случае появляется кнопка, нажав на которую отправляется письмо с запросом на получение нового срока годности (дата2).

Получив его, я вбиваю его ручками в I (дата2). В H при этом пропадает напоминалка о запросе, т.к. я его уже сделал, и появлется "Received". Ячейка в стоблце G ориентируется на "Received" и выдаёт 0, если таковая появляется. Дата1 (столбец I) при "Received" в H раскрашивается так, как будто значения там нет, но эта дата мне нужна будет потом для архива и пр. В стобце J считается разница между текущей датой и датой2.

Сейчас кнопка появляется при значении в G <15, теперь очень хотелось бы, чтобы кнопка появлялась при значении в G <15 и исчезала при появлении в I любого значения, кроме пусто, т.к. кроме даты там больше ничего не будет. Можно привязать и по появлению любого значения в J, кроме пусто. При этом дата1 (в F) должна остаться.
 
Цитата
Юрий М написал:
одновременно?
Юрий, а вообще, шут с ней с дата1, если невозможно сделать иначе. Пусть кнопка скрывается, если в F пусто. Сейчас если вбивать сначала дату в дату1 (F), то кнопка появляется/исчезает, однако, если вообще удалить дату из F, то кнопка остаётся, если перед этим там была дата согласующаяся с условием (<15 - показывается, если > - исчезает). Другими словами - если в F разница дат меньше 15, то кнопка есть, если удалить дату из F, кнопка тоже остаётся. Хотелось бы её убрать.

Вот  :)  
Изменено: Breathe of fate - 30.10.2019 15:51:45
 
Для потомков: можно сделать и без всяких потерь. Файл во вложении. Спасибо отзывчивым людям с Киберфорума.
Страницы: 1
Наверх