Excel - VBA - Створення нагадування

Excel часто є інструментом вибору для маніпулювання даними, створення звітів і діаграм з різних типів даних. Можна, однак, також використовувати Excel для виконання інших цікавих речей, таких як створення нагадування . Це можна зробити за допомогою рамки VBA. Щоб створити нагадування, потрібно написати спеціальний код VBA, який використовує деякі вбудовані функції . Код, однак, повинен бути запущений вручну в першому випадку, і він буде продовжувати працювати для наступних ітерацій, поки робоча книга відкрита. Якщо користувач не хоче запускати код вручну, вони повинні визначити спеціальну процедуру під назвою workbook_open .

Проблема

Я хочу отримати вікно повідомлення нагадування автоматично, відповідно до дати та часу в робочому аркуші Excel.

Чи можна це зробити в VBA?

Рішення

 --- A -------------- B -------- C ---------------------- D 1- Дата ------- Час ------ Завдання ------------------- Нагадати 2- 13/3/2010 - 11:10 ---- Чистий номер -------------- X 3- 13/3/2010 - 11:10 ---- Чистий автомобіль ------------ ----- X 

X: вказує, що це активний нагадування. Щоб вимкнути нагадування, видаліть x

На VBE (ALT + F11) і в вікні explorer проекту двічі клацніть на "ThisWorkbook". Вставте код нижче.

 Приватне наповнення як ціле = 1 Приватне нагадуванняНаступник як варіант Публічний підсистема () currentTime = Час nextMin = CDate (Формат (Час + 1 / (24 * 60), "hh: mm")) myrows = Діапазон ("A1") .CurrentRegion.Rows.Count Для thisrow = 2 Для перегляду Якщо (клітинки (це, "D") = "X") Тоді thіtime = CDate (CDate (клітинки (thisrow, "A")) + клітинки (thisrow, "B") ")) If ((thistime> = Now) А (thistime <= Тепер + 1 * нагадування / (24 * 60))) Тоді task = task & vbCrLf & Cells (thisrow, " C ") &" at "& Format (Клітинки (thisrow, "B"), "hh: mm") End If End Якщо Next (завдання "") Тоді MsgBox task reminderNext = Тепер + TimeSerial (0, нагадування, 0) Application.OnTime reminderNext, "ThisWorkbook. подсказка "TrueMe", True End Sub 

Також потрібно зрозуміти кілька речей:

  • Код повинен бути запущений вручну вперше. Після цього, поки ви не закриєте книгу, вона буде продовжувати перевірку графіка, як ви визначили в книзі.
  • Як тільки ви закриєте книгу і відновите її, вам знову доведеться запустити код ще раз.
  • Щоб запустити код, вам потрібно буде перейти до макросу, і там ви знайдете кнопку запуску на панелі меню.
  • Якщо ви не хочете вручну запускати код, і ви хочете, щоб код запускався самостійно, коли ви запускаєте книгу, тоді вам потрібно визначити процедуру, яка називається Workbook_Open ()
  • Знову ж таки, якщо ви хочете вручну запустити код, то ви робите саме так, як це робили раніше, і якщо ви хочете, щоб код працював самостійно, коли книга відкрита, то вам потрібно додати ще один (хоча старий код зберігається) ). Код буде:

 Приватний підручник Workbook_Open () Викличте Sub Sub EndMe End 

Примітка

Завдяки rizvisa1 за цей відгук на форумі.

Попередня Стаття Наступна Стаття

Кращі Поради