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

Функция Excel VBA DATE

VBA Date - это функция даты и времени, она возвращает только текущую дату в соответствии с системной датой, которую вы используете, также важно отметить, что эта функция вообще не имеет аргументов, еще один важный фактор, который следует помнить, это то, что эта функция возвращает текущую системную дату.

В Excel мы не можем жить без некоторых функций, и «Дата VBA» - одна из них. Если вы часто используете рабочий лист Excel, вы должны знать о функции, называемой «СЕГОДНЯ ()», которая будет возвращать текущую дату в соответствии с системной датой.

Дата - это очень простая функция, которая возвращает только текущую дату в соответствии с системной датой, которую вы используете. Это работает очень похоже на нашу функцию рабочего листа «СЕГОДНЯ», но не изменчиво по своей природе.

Синтаксис функции excel DATE очень прост, поскольку она не имеет аргументов и включает только пустые скобки.

Дата ()

Круглые скобки используются только для объяснения функции, когда вы используете функцию, не нужно вводить скобки.

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

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

Пример # 1

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

Шаг 1: Создайте имя макроса.

Код:

 Sub Date_Example1 ()

Шаг 2: Поскольку нам нужно сохранить текущую дату в ячейке A1, наш код будет Range («A1»). Value .

Код:

 Sub Date_Example1 () Диапазон ("A1"). Значение End Sub 

Шаг 3: В ячейке A1 нам нужна текущая дата, поэтому используйте функцию DATE.

Код:

 Sub Date_Example1 () Диапазон ("A1"). Значение = Date End Sub 

Шаг 4: Хорошо, мы закончили. Давайте запустим этот код сейчас, нажав клавишу F5, или вы также можете запустить код вручную, как показано на скриншоте ниже. Мы получим текущую дату в ячейке A1.

Итак, когда я пишу этот код, текущая дата в моей системе - «15 марта 2019 года».

Примечание. Формат  даты зависит от настроек Windows. В любом случае вы можете изменить формат даты в ячейках формата.

Пример # 2

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

Предположим, что ниже приведен список клиентов, которые есть в вашей базе данных.

Я уже написал код, который уведомит вас, как только вы откроете файл excel.

Код:

 Sub Due_Notifier () Dim Duedate As Date Dim i As Long Duedate = Date i = 2 For i = 2 To Cells (Rows.Count, 1) .End (xlUp) .Row If Duedate = DateSerial (Year (Date), Month ( Cells (i, 3) .Value), Day (Cells (i, 3) .Value)) Затем MsgBox «Customer Name:» & Cells (i, 1) .Value & vbNewLine & «Premium Amount:» & Cells (i , 2) .Значение End If Next i End Sub 

Скопируйте приведенный выше код и вставьте в модуль VBA.

Теперь дважды щелкните опцию «Эта книга».

Теперь выберите «Рабочая книга» в раскрывающемся списке выше.

Как только вы выберете опцию «Workbook», вы увидите, что приватный макрос открывается автоматически.

Здесь в названии макроса написано «Workbook_Open ()», что означает, что вы должны делать каждый раз, когда открывается эта книга. Каждый раз, когда открывается эта книга, нам нужно запускать созданный нами макрос.

Итак, здесь нам нужно вызвать наш макрос, который мы создали, по его имени. В приведенном выше коде имя нашего макроса - «Due_Notifier».

Код:

 Позвонить Due_Notifier

Теперь сохраните эту книгу и закройте ее.

После закрытия откройте книгу и увидите волшебство.

Сейчас открою….

Вау!!! Он показывает мне имя клиента и сумму его задолженности на текущую дату.

Customer Name is “Amar” and the due amount is “20883”. The reason why it is showing this customer name because the due date for Mr Amar is 15th March 2019 i.e. Today.

Now click on Ok, it will show other customer names if the due date is on today.

It is showing Mr Arvind name, his due date is also on 15th March 2019.

Now, you can easily identify the customer names as soon as you come to the office. One of the big headaches is gone.

Similarly, I have created one more excel macro which will send auto birthday emails from your outlook.

Example #3

Assume you are in an “Employee Engagement Team” and you are responsible to send birthday emails to your employees. Identify and sending the email to each and every one separately is a painful job.

Hello, my dear friend doesn’t worry I have created a macro for you to send the auto birthday emails to your employees.

I have created some data to test and below is the image of the same.

You just need to update the employee master according to the headings of the table. Below is the code to send the emails.

Copy the below code and paste in the module.

 Sub Birthday_Wishes() Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim Mydate As Date Dim i As Long Set OutlookApp = New Outlook.Application Mydate = Date i = 2 For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row Set OutlookMail = OutlookApp.CreateItem(olMailItem) If Mydate = DateSerial(Year(Date), Month(Cells(i, 5).Value), Day(Cells(i, 5).Value)) Then OutlookMail.To = Cells(i, 7).Value OutlookMail.CC = Cells(i, 8).Value OutlookMail.BCC = "" OutlookMail.Subject = "Happy Birthday - " & Cells(i, 2).Value OutlookMail.Body = "Dear " & Cells(i, 2).Value & "," & vbNewLine & vbNewLine & _ "We wish you a happy birhday on behalf of the management and we wish all the success in the coming future" & vbNewLine & _ vbNewLine & "Regards," & vbNewLine & "StrIDE Team" OutlookMail.Display OutlookMail.Send End If Next i End Sub 

As soon as you come to the office just open the file and run this code, it will automatically send birthday wishes to the respective email id’s.

Note: You should have Outlook configured in your system.