VBA Time - Как да използвам Excel VBA функция за време? (Примери)

Съдържание:

Anonim

Excel VBA Time

Функцията VBA TIME връща текущото време като изход и може да се използва и като вход към различни макро линии на код. Тази функция няма зададен параметър за нея и по този начин, най-простият синтаксис е TIME дума с празни скоби, която може да се види по-долу:

Синтаксисът за VBA TIME функция:

Time ()

Всъщност също няма нужда от скоби, можете просто да използвате самата дума TIME във вашия блок код, който позволява на системата ви да върне текущото време. Имаме също подобна функция, наречена СЕГА () под Excel VBA, която връща текущото време заедно с датата. В тази статия обаче целият ни фокус би бил върху използването на функцията TIME и разглеждането на различни работни примери за едно и също.

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

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

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

VBA функция за време - пример №1

Текущо системно време с функция TIME:

Следвайте стъпките по-долу, за да покажете текущото време на вашата система.

Стъпка 1: Определете под-процедура.

Код:

 Sub TimeExample1 () End Sub 

Стъпка 2: Определете променлива, която ще бъде полезна за задържане на стойността на времето за вас. Определете го като String.

Код:

 Sub TimeExample1 () Dim CurrentTime като String End Sub 

Забележка: Причината за дефинирането на тази променлива като String е, че изходът на функцията TIME е в низ.

Стъпка 3: Използвайте VBA TIME функция, за да зададете текущото време на променливата, дефинирана в стъпката по-горе, като използвате оператор за присвояване.

Код:

 Sub TimeExample1 () Dim CurrentTime като String CurrentTime = Time End Sub 

Стъпка 4: Както споменах по-рано, не е необходимо да добавяте скоби след функцията TIME, тъй като това е променлива функция. След като каза това, следният код ще даде еквивалентна продукция в сравнение с горния код.

Код:

 Sub TimeExample1 () Dim CurrentTime като String CurrentTime = Time () End Sub 

Стъпка 5: Сега използвайте MsgBox функция, за да покажете текущото време, използвайки полето за съобщение на дисплея.

Код:

 Sub TimeExample1 () Dim CurrentTime като String CurrentTime = Време () MsgBox CurrentTime End Sub 

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

Моля, обърнете внимание, че времето, отразяващо се на изображението по-горе, е времето, през което този код се изпълнява в системата. Докато го изпробвате сами, вашият изход може да варира в зависимост от времето, в което работите с този код.

VBA функция за време - пример №2

VBA TIME в комбинация с функция Дата за връщане на текущото време с днешната дата:

Както беше информирано по-рано при въвеждането на тази статия, има функция, наречена СЕГА (), която ви дава текуща дата, както и време в Microsoft Excel. Вижте екрана, даден по-долу.

В VBA обаче тази функция не работи. Следователно, във VBA трябва да използваме комбинация от VBA Дата и VBA TIME функции, за да получим текущата дата и текущото време. VBA Date ще даде текуща дата, а VBA Time ще даде текущо време (което вече видяхме в първия пример).

Нека видим стъпка по стъпка как можем да постигнем това.

Стъпка 1: Вмъкнете нов модул във вашия Excel VBA скрипт.

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

Код:

 Под Пример2 () Краен Под 

Стъпка 3: Искахме изходът ни да се съхранява в клетка А1 на нашия excel лист. За това започнете да пишете кода, както е посочено по-долу.

Код:

 Sub Example2 () Обхват ("A1") Стойност = Край Sub 

Стъпка 4: Сега използвайте комбинация от VBA DATE и VBA TIME функции, както е показано по-долу, и присвойте своята стойност на клетка A1.

Код:

 Под пример2 () Диапазон („A1“). Стойност = Дата и „„ & Време Край Под 

Функцията DATE ще върне текущата дата на системата, а функцията TIME ще върне текущото време. Бялото пространство, затворено в двойни кавички („“), позволява да има интервал между дата и час в крайния изход. Два & (и) оператора работят като обединяващи оператори, които обединяват DATE и TIME с място в него.

Стъпка 5: Стартирайте кода, като натиснете F5 или Run бутона ръчно. Ще видите изхода в клетка А1 на работния си лист като удар:

Тук отново моля отбележете, че времето, отразяващо се в клетка A1, е дата и час, през които този код се управлява от мен. Следователно, когато стартирате този код, резултатите ще бъдат различни.

Също така можем да форматираме стойностите за дата и час, използвайки функцията NumberFormat под VBA.

Стъпка 6: Напишете кода, споменат по-долу във вашия VBA скрипт.

Код:

 Под пример2 () Диапазон ("A1"). Стойност = Дата & "" & Диапазон от време ("A1"). NumberFormat = "dd-mmm-yyyy hh: mm: ss AM / PM" End Sub 

Стъпка 7: Натиснете ръчно F5 или Run бутона и ще видите резултата, както е показано по-долу, в клетка А1 на вашия работен лист.

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

Функция VBA TIME за проследяване на часа на отваряне и датата на работна книга:

Понякога има една електронна таблица, която отваряме често (като списък на служителите на организация) и правим промени в нея. Може да ни е интересно да знаем датата и часа, в който са направени промените в работния лист. Функцията VBA Time може да се използва за проследяване на дата и час при всяко отваряне на работна книга. Вижте стъпките по-долу, за да работите върху същото.

Стъпка 1: Създайте нов работен лист в работната си книга на Excel и го преименувайте според вашето удобство. Ще го преименувам на (Time_Track).

Стъпка 2: Кликнете два пъти върху ThisWorkbook под VBE (Visual Basics Editor).

Стъпка 3: От падащия списък на обекти изберете Workbook вместо General.

Стъпка 4: Ще видите нова частна под-процедура ще се дефинира под името Workbook_Open () в VBE.

Код:

 Private Sub Workbook_Open () End Sub 

Стъпка 5: Напишете по-долу споменатия код в тази под-процедура на макрос, както е показано на изображението по-долу:

Код:

 Private Sub Workbook_Open () Dim LB As Long LB = Sheets ("Time_Track"). Клетки (Rows.Count, 1) .End (xlUp) .Row + 1 Sheets ("Time_Track"). Клетки (LB, 1) .Value = Дата & "" & Време () Край Sub 

Тук е дефинирана променлива LB от тип Long, за да открие клетката до последната използвана клетка, където изходът може да се съхранява. След това, използвайки комбинация от VBA DATE и TIME функции, сме задали стойност под тази клетка.

Стъпка 6: Стартирайте кода, като натиснете F5 или Run бутона ръчно и вижте изхода под колона А на работен лист.

Този код ще съхранява стойността на дата и час всеки път, когато отворите работния лист Time_Track.

Това е от тази статия. Нека увием нещата, като напишем някои неща, които да запомним.

Неща, които трябва да запомните

  • Функцията VBA TIME съхранява изхода като низ в excel. Въпреки това, ние също можем да го съхраняваме като формат Дата, докато дефинираме променлива като Дата вместо низ.
  • Функцията TIME не изисква никакъв аргумент в нея. Това е летлива функция.
  • Дори не се нуждаят от скоби за извикване на функцията. Само TIME е достатъчно, за да получите текущото време.
  • Функцията TIME по подразбиране съхранява стойността на времето в hh: mm: ss формат (24 часов формат на часовника). Въпреки това, понякога изходният формат зависи и от формата на вашето време на системата.

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

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

  1. Как да създадете Excel VBA MsgBox?
  2. РАБОТА Excel функция | формула
  3. Ръководство за VBA Do while Loop
  4. Вмъкване на дата в Excel