Дата VBA Excel

Є деякі функції, які насправді дуже зручні, і ми задушуємося про життя, без тих функцій, які є користувачем VBA. Функція DATE - одна з тих функцій, яка часом може бути дуже корисною та полегшити життя програмісту. У таблиці Excel є функція під назвою TODAY (), яка дає поточну дату як результат на основі системної дати. У подібних рядках VBA має функцію DATE, яка дає поточну дату на основі системної дати.

Функція VBA DATE повертає поточну дату на основі системної дати в результаті і має дійсно дуже простий синтаксис.

Ця функція не має жодного аргументу, який слід передавати, поставляється з назвою функції та порожніми дужками. Не обов'язково додавати круглі дужки також під час виклику цієї функції. Хіба ця функція насправді не проста?

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

Як використовувати функцію дати Excel VBA?

Ми дізнаємось, як використовувати функцію дати VBA з кількома прикладами в excel.

Ви можете завантажити цей шаблон Excel Date Excel тут - шаблон VBA Date Excel

Функція дати VBA - приклад №1

Припустимо, ви хотіли побачити поточну дату в MsgBox. Як ти можеш це зробити? Просто виконайте наведені нижче кроки, і ви пройдете все.

Крок 1. Вставте новий модуль у візуальний базовий редактор.

Крок 2: Визначте під-процедуру написання створення та збереження макросу.

Код:

 Sub DateEx1 () Кінець Sub 

Крок 3: Визначте змінну з назвою CurrDate, яка може містити значення поточної дати. Оскільки ми збираємось призначити змінній значення дати, переконайтеся, що ви визначаєте її як дату.

Код:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Крок 4: Використовуючи оператор призначення, призначте значення поточної системної дати змінній, щойно створеній. Вам потрібно просто додати DATE, щоб призначити значення дати. Використовуйте наступний фрагмент коду:

Код:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Дата Кінець Sub 

Крок 5: Використовуйте MsgBox, щоб мати можливість бачити поточну системну дату під запитом Box Box. Використовуйте рядок коду, наведений нижче:

Код:

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

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

Зауважте, що дата, показана тут на скріншоті, - це дата, на яку я запустив цей сценарій. Можливо, ви отримуєте іншу дату в момент запуску цього коду, виходячи з вашої системної дати.

Це найпростіший приклад отримання поточної дати. Ви також можете скористатися функцією Cells.Value, щоб отримати значення дати в певній комірці вашого листа Excel.

Функція дати VBA - приклад №2

Термін виплати EMI для домашнього кредиту

Припустимо, у мене є робочий аркуш, і мені потрібна система, щоб показати мені повідомлення " Ей! Вам потрібно заплатити свій ІМС сьогодні. "Кожен раз, коли я відкриваю аркуш, і значення в комірці A1 - це поточна системна дата. Давайте подивимось крок за кроком, як ми можемо це зробити.

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

Код:

 Sub auto_open () Кінець Sub 

Крок 2: Використовуйте, якщо умова призначить значення поточної дати в комірці A1 робочого листа HomeLoan_EMI.

Код:

 Sub auto_open () Якщо Sheets ("HomeLoan_EMI"). Діапазон ("A1"). Значення = Дата Кінець Sub 

Крок 3: Тепер, використовуючи Тоді, на тому ж рядку після IF, щоб ми могли додати оператор, який буде виконуватися до тих пір, як умова if-справжнє.

Код:

 Sub auto_open () Якщо Sheets ("HomeLoan_EMI"). Діапазон ("A1"). Значення = Дата, то Закінчення Sub 

Крок 4: Додайте оператор, який потрібно виконати для умови, яка є правдою.

Код:

 Sub auto_open () Якщо аркуші ("HomeLoan_EMI"). Діапазон ("A1"). Значення = Дата Тоді MsgBox ("Ей! Вам потрібно заплатити EMI сьогодні.") Кінець Sub 

Це твердження з’явиться у вікні повідомлення, як тільки умова справджується.

Крок 5: Як відомо, кожна умова IF завжди потребувала умови Else. Додайте умову Else до цього циклу.

Код:

 Sub auto_open () Якщо Sheets ("HomeLoan_EMI"). Діапазон ("A1"). Значення = Дата Тоді MsgBox ("Ей! Вам потрібно заплатити EMI сьогодні.") Else Exit Sub End Sub 

Ця інша умова припинить автоматичне відкриття макросу, якщо дата в комірці A1 не є поточною системною датою.

Крок 6: Нарешті, закінчіть цикл IF, використовуючи оператор End IF.

Код:

 Sub auto_open () Якщо Sheets ("HomeLoan_EMI"). Діапазон ("A1"). Значення = Дата Тоді MsgBox ("Ей! Вам потрібно заплатити EMI сьогодні.") Else Exit Sub End If End Sub 

Крок 7: Це все, тепер щоразу, коли ви відкриваєте свій робочий аркуш, система автоматично запускає вищевказаний код і бачить, чи є значення дати в комірці A1 вашою датою EMI чи ні. Якщо термін дії EMI дорівнює системній даті, він відображатиме повідомлення, як показано нижче:

Функція дати VBA - приклад №3

Дата VBA, щоб дізнатися одержувач платежу за кредитною карткою

Припустимо, у мене є список клієнтів, у яких є кредитна картка, і ви хочете знати, кому сьогодні належить оплата. Таким чином, ви можете зателефонувати їм і попросити негайно сплатити заборгованість за EOD.

Дата VBA може бути корисною, що дозволяє вам автоматизувати речі, а не перевіряти дати одну за одною. Давайте подивимось, як це зробити поетапно:

Крок 1: Визначте новий макрос за допомогою підпроцедури під модулем.

Код:

 Sub DateEx3 () Закінчення Sub 

Крок 2: Визначте дві нові змінні, одна з яких буде корисною для циклічного введення коду, а інша для того, щоб утримувати значення поточної системної дати.

Код:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Date i = 2 End Sub 

Крок 3: Тепер використовуйте наступний фрагмент коду, який допомагає шукати особу, яка має термін платежу з кредитної картки, як поточну системну дату. Цей код дозволяє перевірити Клієнта, який має сплатити рахунок на поточну системну дату разом із сумою векселя.

Код:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Date i = 2 Для i = 2 до таблиць ("CC_Bill"). Клітини (рядки.Count, 1) .End (xlUp) .Row If DateDue = DateSerial ( Рік (DateDue), Місяць (Sheets ("CC_Bill"). Осередки (i, 3) .Value), Day (Sheets ("CC_Bill"). Осередки (i, 3) .Value)) Потім MsgBox "Ім'я клієнта:" & Sheets ("CC_Bill"). Осередки (i, 1) .Value & vbNewLine & "Сума преміум:" & Sheets ("CC_Bill"). Cell (i, 2). Endure End If Next i End Sub 

Крок 4: Запустіть цей код, натиснувши кнопку F5 або Запустити вручну і побачити вихід.

Під час першої ітерації ми можемо побачити, що Мохан - той, хто отримав рахунок в 12, 9 тис. 29 квітня 2019 року (поточна системна дата, на яку запускається цей код). Якщо ми натиснемо ОК, ми можемо побачити наступне ім’я клієнта, який має виплатити рахунок 29 квітня-2019 (наступний Раджані).

Цей код буде дуже корисний, коли у вас є мільйони рядків клієнтів, які мають погасити рахунок в один конкретний день. Зауважте, що всі сценарії, згадані в цій статті, виконуються 29 квітня 2019 року. Ви можете отримати інше значення дати при запуску цього зразкового коду на основі системної дати.

Що потрібно пам’ятати

  • Функція VBA DATE повертає поточну системну дату та паралельно функції TODAY () Excel.
  • Функція DBA VATE не має жодного аргументу, який слід передавати в excel. Навіть не потрібно викликати круглі дужки під час використання цієї функції в коді.
  • ДАТА VBA - енергонезалежна функція в excel.
  • VBA зберігає значення дати як DATE на момент виконання. Отже, не визначає значення змінної утримування як String / Integer. Це призведе до помилки під час виконання коду.

Рекомендовані статті

Це керівництво датою Excel VBA. Тут ми обговорили, як використовувати функції Excel VBA дати разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Що таке формат дати VBA?
  2. Дата вставки Excel | Підручник Excel
  3. VBA GoTo | Як користуватись?
  4. Функція EDATE Excel (формула, приклад)
  5. Що таке VBA DateSerial?

Категорія: