Дата на Excel VBA

Има някои функции, които наистина са много удобни и ние задавим живота си, без тези функции да са потребител на VBA. Функцията DATE е една от онези функции, които на моменти могат да бъдат наистина много полезни и да улеснят живота на програмиста. В таблица на Excel има функция, наречена TODAY (), която дава текущата дата като резултат въз основа на системната дата. По подобни линии VBA има функция DATE, която дава текуща дата въз основа на системната дата.

Функцията VBA DATE връща текущата дата въз основа на системната дата като резултат и има наистина много прост синтаксис.

Тази функция няма аргумент, който да се предава, идва с името на функцията и празни скоби. Не е задължително да добавяте скоби, докато извиквате тази функция. Не е ли тази функция наистина проста по своята същност?

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

Как да използвате Excel VBA функция за дата?

Ще научим как да използваме функция VBA Date с няколко примера в excel.

Можете да изтеглите този шаблон на VBA Date Excel тук - Шаблон VBA Дата Excel

VBA Дата Функция - Пример №1

Да предположим, че сте искали да видите текущата дата в MsgBox. Как можеш да правиш това? Просто следвайте стъпките по-долу и ще преминете.

Стъпка 1: Поставете нов модул във вашия Visual Basic Editor.

Стъпка 2: Определете под-процедура за писане създаване и запазване на макрос.

Код:

 Sub DateEx1 () Край Sub 

Стъпка 3: Определете променлива на име CurrDate, която може да задържи стойността на текущата дата. Тъй като ние сме на път да присвоим стойностна дата на променливата, уверете се, че я определяте като дата.

Код:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Стъпка 4: Използвайки оператора за присвояване, задайте стойност на текущата системна дата на новосъздадената променлива. Просто трябва да добавите DATE, за да присвоите стойността на датата. Използвайте следния код:

Код:

 Sub DateEx1 () Dim CurrDate като дата CurrDate = Дата на края Sub 

Стъпка 5: Използвайте MsgBox, за да можете да видите текущата системна дата под съобщението Box Box. Използвайте реда с код, даден по-долу:

Код:

 Sub DateEx1 () Dim CurrDate като дата CurrDate = Дата MsgBox „Днешната дата е:“ & CurrDate End Sub 

Стъпка 6: Натиснете F5 или стартирайте бутон ръчно, за да стартирате този код. Ще можете да видите поле с съобщения, както е показано по-долу на екрана с текущата дата.

Имайте предвид, че датата, показана тук на екрана, е датата, на която съм пуснал този скрипт. Възможно е да получавате друга дата по време на стартиране на този код въз основа на системната дата.

Това е най-простият пример за получаване на текущата дата. Можете също да използвате функцията Cells.Value, за да получите стойността на датата в определена клетка на вашия excel лист.

VBA Дата Функция - Пример №2

Дата на изплащане на ЕМИ за начален заем

Да предположим, че имам работен лист и имам нужда от система, която да ми покаже съобщение „ Хей! Трябва да платите EMI ​​днес. ”Всеки път, когато отворя листа и стойността в клетка A1 е текущата системна дата. Нека видим стъпка по стъпка как можем да направим това.

Стъпка 1: Поставете нов модул и дефинирайте нова под-процедура, наречена auto_open (), за да създадете макрос. auto_open () позволява на вашия макрос да се стартира автоматично всеки път, когато отворите работния лист.

Код:

 Sub auto_open () Край на Sub 

Стъпка 2: Използвайте If условие, за да зададете стойността на текущата дата в клетка A1 на работен лист HomeLoan_EMI.

Код:

 Sub auto_open () Ако Sheets ("HomeLoan_EMI"). Обхват ("A1"). Value = Дата Край Sub 

Стъпка 3: Сега използвайте Тогава на същия ред след IF, за да можем да добавим изявление, което ще се изпълни, стига условието if да е вярно.

Код:

 Sub auto_open () Ако Sheets ("HomeLoan_EMI"). Обхват ("A1"). Стойност = Дата След Край Sub 

Стъпка 4: Добавете оператор, който да бъде изпълнен за условието, което е вярно.

Код:

 Sub auto_open () Ако Sheets ("HomeLoan_EMI"). Обхват ("A1"). Стойност = Дата След това MsgBox ("Ей! Трябва да платите EMI ​​днес.") End Sub 

Това изявление ще се появи в полето за съобщения веднага щом условието е вярно.

Стъпка 5: Както знаем, всяко условие IF винаги се нуждае от условие Else. Добавете условие Else към този цикъл.

Код:

 Sub auto_open () Ако Sheets ("HomeLoan_EMI"). Обхват ("A1"). Стойност = Дата След това MsgBox ("Ей! Трябва да платите EMI ​​днес.") Оставете Излезте от Sub End Sub 

Това друго условие ще прекрати автоматично отваряне на Макрос, ако дата в клетка A1 не е текущата системна дата.

Стъпка 6: Накрая, Прекратете IF цикъла, като използвате оператор End IF.

Код:

 Sub auto_open () Ако Sheets ("HomeLoan_EMI"). Обхват ("A1"). Стойност = Дата след това MsgBox ("Ей! Трябва да платите EMI ​​днес.") Останете Излез Sub End Ако 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 For i = 2 To Sheets ("CC_Bill"). Клетки (Rows.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 & "Премиум сума:" & Листове ("CC_Bill"). Клетки (i, 2) .Value 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 в момента на изпълнение. Така че, не определя променлива стойност на задържане като String / Integer. Това ще доведе до грешка по време на изпълнение на кода.

Препоръчителни статии

Това е ръководство за Excel VBA Date. Тук сме обсъдили как да използвате Excel VBA функциите за дата заедно с практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. Какво е формат на датата VBA?
  2. Дата на вмъкване в Excel | Урок за Excel
  3. VBA GoTo | Как да използвам?
  4. EDATE Excel функция (формула, пример)
  5. Какво е VBA DateSerial?

Категория: