Создание кода VBA, который рассчитывает на основе строки данных (даты) и выдает всплывающее окно, если дата прошла или в течение 2 недель - PullRequest
0 голосов
/ 09 апреля 2019

Первый таймер здесь.Я пытаюсь создать всплывающее окно VBA, которое возвращает всплывающее окно / предупреждение только в том случае, если приближается дата в определенном диапазоне на конкретном листе (примерно через 2 недели).Есть ли шаблон или отправная точка для этого?

Я дошел до того, что получаю всплывающее окно при открытии рабочей книги, но не знаю, как применить расчет / формулу, необходимые для просмотра диапазона дат.

Private Sub Workbook_Open()
    MsgBox "TEST"
End Sub

1 Ответ

0 голосов
/ 10 апреля 2019

Хорошо, это должно быть хорошим началом для вас.Я не эксперт VBA.Я на самом деле очень мало знаю об этом, но это сработало для нескольких тестовых случаев, которые я пробовал.Я не утверждаю, что это правильный способ справиться с этим.

Sub DateCheck()

    cmpDate = DateAdd("d", -14, Now())

    Range("A1").Select
    ' Set Do loop to stop when an empty cell is reached.
    Do Until IsEmpty(ActiveCell)
        If ActiveCell.Value > cmpDate Then
            MsgBox ActiveCell.Value
        End If
        ActiveCell.Offset(1, 0).Select
    Loop
End Sub

Возможно, вам придется изменить «А1» на начало вашего диапазона.Это начнется в A1 и будет прогрессировать построчно, пока не достигнет ячейки без значения.В каждой ячейке сравнивается текущая дата - 14 дней (cmpDate) с датой в ячейке.Если значение активной ячейки больше, чем cmpDate, отправьте сообщение с окном сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...