Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Расписание сотрудников с будильником. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расписание сотрудников с будильником. (Макрос VBA)
Расписание сотрудников с будильником.
SkyPro Дата: Пятница, 15.03.2013, 15:06 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Добрый день, уважаемые форумчане.
Возник вопрос, можно ли при помощи VBA сделать своеобразный "будильник"
Есть табличка с расписанием (см. вложения).
Необходимо, что бы при совпадении значения ячейки А1 (текущее время, либо просто "now") с ячейкой С2 (дата) и С6 (время) - выскакивало сообщение с текстом из ячейки В6.

Кто подскажет, как это реализовать в VBA?
Заранее спасибо за помощь.

ЗЫ: в файле уже есть макрос на текущее время в ячейке А1
К сообщению приложен файл: primer.xls (64.0 Kb)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Пятница, 15.03.2013, 15:10
 
Ответить
СообщениеДобрый день, уважаемые форумчане.
Возник вопрос, можно ли при помощи VBA сделать своеобразный "будильник"
Есть табличка с расписанием (см. вложения).
Необходимо, что бы при совпадении значения ячейки А1 (текущее время, либо просто "now") с ячейкой С2 (дата) и С6 (время) - выскакивало сообщение с текстом из ячейки В6.

Кто подскажет, как это реализовать в VBA?
Заранее спасибо за помощь.

ЗЫ: в файле уже есть макрос на текущее время в ячейке А1

Автор - SkyPro
Дата добавления - 15.03.2013 в 15:06
light26 Дата: Пятница, 15.03.2013, 16:05 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Я один не смог закрыть книгу до тех пор, пока не удалил модуль?
SkyPro, а решение обязательно должно быть выполнено макросом?
На мой взгляд вполне можно обойтись формулой.
Уточните что Вы желаете получить в итоге


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Пятница, 15.03.2013, 16:08
 
Ответить
СообщениеЯ один не смог закрыть книгу до тех пор, пока не удалил модуль?
SkyPro, а решение обязательно должно быть выполнено макросом?
На мой взгляд вполне можно обойтись формулой.
Уточните что Вы желаете получить в итоге

Автор - light26
Дата добавления - 15.03.2013 в 16:05
SkyPro Дата: Суббота, 16.03.2013, 01:34 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
К примеру, если текущая дата 18.03.13(ячейка С2) и время 10:00 (ячейка С6, С8 и С9), то выскакивает сообщение с текстом из ячеек В6, В8 и В9.
Если это можно реализовать формулами - буду рад помощи.


skypro1111@gmail.com
 
Ответить
СообщениеК примеру, если текущая дата 18.03.13(ячейка С2) и время 10:00 (ячейка С6, С8 и С9), то выскакивает сообщение с текстом из ячеек В6, В8 и В9.
Если это можно реализовать формулами - буду рад помощи.

Автор - SkyPro
Дата добавления - 16.03.2013 в 01:34
SkyPro Дата: Среда, 20.03.2013, 14:35 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Сделал формулами.
Правда формула получилась гигантская..
Код
=ЕСЛИ(И(ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(ТДАТА());МЕСЯЦ(ТДАТА());ДЕНЬ(ТДАТА()));ВРЕМЯ(ЧАС(ТДАТА());МИНУТЫ(ТДАТА());СЕКУНДЫ(ТДАТА()))))>ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(C$2);МЕСЯЦ(C$2);ДЕНЬ(C$2));ВРЕМЯ(ЧАС(C4);МИНУТЫ(C4)+5;СЕКУНДЫ(C4))));ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(ТДАТА());МЕСЯЦ(ТДАТА());ДЕНЬ(ТДАТА()));ВРЕМЯ(ЧАС(ТДАТА());МИНУТЫ(ТДАТА());СЕКУНДЫ(ТДАТА()))))<ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(C$2);МЕСЯЦ(C$2);ДЕНЬ(C$2));ВРЕМЯ(ЧАС(D4);МИНУТЫ(D4);СЕКУНДЫ(D4)))));"Р";"")

Может кто её "укоротит" ?

+ еще не додумался как сделать "msgbox" с текстом из столбца В, при появлении значения "Р" в ячейках.

Помогите, пожалуйста smile
К сообщению приложен файл: primer2.xls (81.0 Kb)


skypro1111@gmail.com
 
Ответить
СообщениеСделал формулами.
Правда формула получилась гигантская..
Код
=ЕСЛИ(И(ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(ТДАТА());МЕСЯЦ(ТДАТА());ДЕНЬ(ТДАТА()));ВРЕМЯ(ЧАС(ТДАТА());МИНУТЫ(ТДАТА());СЕКУНДЫ(ТДАТА()))))>ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(C$2);МЕСЯЦ(C$2);ДЕНЬ(C$2));ВРЕМЯ(ЧАС(C4);МИНУТЫ(C4)+5;СЕКУНДЫ(C4))));ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(ТДАТА());МЕСЯЦ(ТДАТА());ДЕНЬ(ТДАТА()));ВРЕМЯ(ЧАС(ТДАТА());МИНУТЫ(ТДАТА());СЕКУНДЫ(ТДАТА()))))<ЗНАЧЕН(СЦЕПИТЬ(ДАТА(ГОД(C$2);МЕСЯЦ(C$2);ДЕНЬ(C$2));ВРЕМЯ(ЧАС(D4);МИНУТЫ(D4);СЕКУНДЫ(D4)))));"Р";"")

Может кто её "укоротит" ?

+ еще не додумался как сделать "msgbox" с текстом из столбца В, при появлении значения "Р" в ячейках.

Помогите, пожалуйста smile

Автор - SkyPro
Дата добавления - 20.03.2013 в 14:35
Michael_S Дата: Среда, 20.03.2013, 14:38 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
[offtop]Ну и название для темы biggrin
Расписание сотрудников с будильником.
Я подумал, что сотрудники у вас спят на работе. biggrin [/offtop]
 
Ответить
Сообщение[offtop]Ну и название для темы biggrin
Расписание сотрудников с будильником.
Я подумал, что сотрудники у вас спят на работе. biggrin [/offtop]

Автор - Michael_S
Дата добавления - 20.03.2013 в 14:38
Jhonson Дата: Среда, 20.03.2013, 16:32 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

формула:
Код
=ЕСЛИ((ТДАТА()>=(C$2+C4))*(ТДАТА()<=(C$2+D4));"Р";"")

макрос в модуль листа:
[vba]
Код
Private Sub Worksheet_Calculate()
For Each ccc In Range("c4:ad9")
If ccc.Value = "Р" Then MsgBox (Cells(ccc.Row, 2).Value)
Next
End Sub
[/vba]
К сообщению приложен файл: primer2-2-.xls (67.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
Сообщениеформула:
Код
=ЕСЛИ((ТДАТА()>=(C$2+C4))*(ТДАТА()<=(C$2+D4));"Р";"")

макрос в модуль листа:
[vba]
Код
Private Sub Worksheet_Calculate()
For Each ccc In Range("c4:ad9")
If ccc.Value = "Р" Then MsgBox (Cells(ccc.Row, 2).Value)
Next
End Sub
[/vba]

Автор - Jhonson
Дата добавления - 20.03.2013 в 16:32
SkyPro Дата: Четверг, 21.03.2013, 15:57 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Спасибо огромное за полноценный ответ smile

Но есть еще один вопрос:
- Как сделать, что бы "MsgBox" срабатывал единожды для каждой строки?


skypro1111@gmail.com
 
Ответить
СообщениеСпасибо огромное за полноценный ответ smile

Но есть еще один вопрос:
- Как сделать, что бы "MsgBox" срабатывал единожды для каждой строки?

Автор - SkyPro
Дата добавления - 21.03.2013 в 15:57
Jhonson Дата: Четверг, 21.03.2013, 16:41 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Цитата (SkyPro)
- Как сделать, что бы "MsgBox" срабатывал единожды для каждой строки?

Наверное так
К сообщению приложен файл: 3161136.xls (68.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
Сообщение
Цитата (SkyPro)
- Как сделать, что бы "MsgBox" срабатывал единожды для каждой строки?

Наверное так

Автор - Jhonson
Дата добавления - 21.03.2013 в 16:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расписание сотрудников с будильником. (Макрос VBA)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!