Excel VBA Date

Есть некоторые функции, которые действительно очень удобны, и мы душим нашу жизнь, если эти функции не являются пользователями VBA. Функция DATE - это одна из тех функций, которые иногда могут быть очень полезными и могут облегчить жизнь программиста. В электронной таблице Excel есть функция TODAY (), которая выдает текущую дату в качестве результата на основе системной даты. Аналогично, в VBA есть функция DATE, которая выдает текущую дату на основе системной даты.

Функция VBA DATE возвращает текущую дату на основе системной даты в результате и имеет очень простой синтаксис.

Эта функция не имеет аргумента, который должен быть передан, поставляется с именем функции и пустыми скобками. Не обязательно добавлять скобки и при вызове этой функции. Разве эта функция не очень проста по своей природе?

Синтаксис функции DATE в VBA.

Как использовать функцию даты VBA Excel?

Мы узнаем, как использовать функцию даты VBA с несколькими примерами в Excel.

Вы можете скачать этот шаблон Excel даты VBA здесь - Шаблон Excel даты VBA

Функция даты VBA - Пример # 1

Предположим, вы хотели увидеть текущую дату в MsgBox. Как ты можешь это сделать? Просто следуйте инструкциям ниже, и вы закончите.

Шаг 1. Вставьте новый модуль в редактор Visual Basic.

Шаг 2: Определите подпроцедуру для написания создания и сохранения макроса.

Код:

 Sub DateEx1 () End Sub 

Шаг 3: Определите переменную с именем CurrDate, которая может содержать значение текущей даты. Поскольку мы собираемся присвоить значение даты переменной, убедитесь, что вы определяете ее как дату.

Код:

 Sub DateEx1 () Dim CurrDate As Дата Конец Sub 

Шаг 4: Используя оператор присваивания, присвойте значение текущей системной даты вновь создаваемой переменной. Вам просто нужно добавить DATE, чтобы назначить значение даты. Используйте следующий фрагмент кода:

Код:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Дата окончания Sub 

Шаг 5: Используйте MsgBox, чтобы увидеть текущую системную дату в окне сообщения. Используйте строку кода, приведенную ниже:

Код:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Date MsgBox "Сегодняшняя дата:" & CurrDate End Sub 

Шаг 6: Нажмите F5 или кнопку запуска вручную, чтобы запустить этот код. Вы сможете увидеть окно сообщения, как показано на скриншоте ниже, с текущей датой.

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

Это самый простой пример получения текущей даты. Вы также можете использовать функцию Cells.Value, чтобы получить значение даты в конкретной ячейке таблицы Excel.

Функция даты VBA - пример № 2

Срок оплаты платежа по кредиту Home Loan

Предположим, у меня есть рабочий лист, и мне нужна система, чтобы показать мне сообщение « Эй! Вы должны оплатить EMI сегодня. «Каждый раз, когда я открываю свой лист, а значение в ячейке A1 является текущей системной датой. Давайте посмотрим шаг за шагом, как мы можем это сделать.

Шаг 1: Вставьте новый модуль и определите новую подпроцедуру с именем auto_open () для создания макроса. auto_open () позволяет вашему макросу запускаться автоматически каждый раз, когда вы открываете лист.

Код:

 Sub auto_open () End Sub 

Шаг 2: Используйте условие If, чтобы назначить значение текущей даты в ячейке A1 рабочего листа HomeLoan_EMI.

Код:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Диапазон ("A1"). Значение = Дата Конец Sub 

Шаг 3: Теперь, используйте Тогда в той же строке после IF, чтобы мы могли добавить инструкцию, которая будет выполняться, если условие if выполнено.

Код:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Диапазон ("A1"). Значение = Дата, затем Конец Sub 

Шаг 4: Добавьте оператор, который будет выполнен для условия, которое является истинным.

Код:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Привет! Тебе нужно оплатить EMI сегодня.") End Sub 

Этот оператор появится в окне сообщения, как только будет выполнено условие.

Шаг 5: Как мы знаем, каждому условию IF всегда требовалось условие Else. Добавьте условие Else в этот цикл.

Код:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Привет! Тебе нужно оплатить EMI сегодня.") Иначе Exit Sub End Sub 

Это условие условия прекратит автоматическое открытие макроса, если дата в ячейке A1 не является текущей системной датой.

Шаг 6: Наконец, завершите цикл IF с помощью оператора End IF.

Код:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Диапазон ("A1"). Значение = Дата, затем MsgBox ("Привет! Тебе нужно оплатить EMI сегодня.") Иначе Выйти из Sub End If End End 

Шаг 7. Теперь все при открытии рабочего листа система автоматически запускает приведенный выше код и проверяет, является ли значение даты в ячейке A1 датой истечения вашего EMI или нет. Если срок исполнения EMI равен системной дате, будет показано сообщение, как показано ниже:

Функция даты VBA - пример № 3

VBA Дата, чтобы узнать о кредитной карте Билл Получатель

Предположим, у меня есть список клиентов, у которых есть кредитная карта, и вы хотите знать, кто платит сегодня. Так что вы можете позвонить им и попросить их немедленно оплатить причитающиеся с помощью EOD.

VBA Date может помочь вам автоматизировать вещи, а не проверять даты по очереди. Давайте посмотрим, как сделать это шаг за шагом:

Шаг 1: Определите новый макрос, используя подпроцедуру в модуле.

Код:

 Sub DateEx3 () End Sub 

Шаг 2: Определите две новые переменные, одна из которых будет полезна при циклическом кодировании, а другая - для хранения значения текущей системной даты.

Код:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Дата i = 2 Конец Sub 

Шаг 3. Теперь используйте следующий фрагмент кода, который помогает в поиске человека, у которого в качестве текущей системной даты указана дата платежа по кредитной карте. Этот код позволяет проверить Клиента, который должен оплатить счет на текущую системную дату, а также сумму счета.

Код:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Date i = 2 Для i = 2 To Sheets ("CC_Bill"). Ячейки (Rows.Count, 1) .End (xlUp) .Row Если DateDue = DateSerial ( Год (DateDue), Месяц (Sheets ("CC_Bill"). Ячейки (i, 3) .Value), День (Sheets ("CC_Bill"). Ячейки (i, 3) .Value)) Затем MsgBox "Имя клиента:" & Sheets ("CC_Bill"). Ячейки (i, 1). Значение & vbNewLine & "Премиальная сумма:" & Sheets ("CC_Bill"). Ячейки (i, 2). Значение End If Next i End Sub 

Шаг 4: Запустите этот код, нажав F5 или кнопку Run вручную и посмотрите результат.

На первой итерации мы видим, что Мохан - тот, у кого Билл 12 900, который должен быть выпущен 29 апреля 2019 года (текущая системная дата, в которую запускается этот код). Если мы нажмем ОК, мы увидим имя следующего клиента, чей счет должен быть выставлен 29 апреля 2019 года (следующим является Раджани).

Этот код действительно пригодится, когда у вас миллионы строк клиентов, чей счет должен быть оплачен в один конкретный день. Обратите внимание, что все скрипты, упомянутые в этой статье, запускаются 29 апреля 2019 года. Вы можете получить другое значение даты при запуске этого примера кодов на основе системной даты.

То, что нужно запомнить

  • Функция VBA DATE возвращает текущую системную дату и параллельно с функцией TODAY () в Excel.
  • Функция VBA DATE не имеет аргумента для передачи в Excel. Даже не нужно вызывать скобки при использовании этой функции в коде.
  • VBA DATE - это энергонезависимая функция в Excel.
  • VBA хранит значения Date как DATE во время выполнения. Таким образом, не определяет переменную, содержащую значение как String / Integer. Это приведет к ошибке во время выполнения кода.

Рекомендуемые статьи

Это было руководство по Excel VBA Date. Здесь мы обсудили, как использовать функции даты VBA Excel вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Что такое формат даты VBA?
  2. Excel Вставить дату | Учебник по Excel
  3. VBA GoTo | Как пользоваться?
  4. Функция EDATE Excel (формула, пример)
  5. Что такое VBA DateSerial?

Категория: