Excel VBA Čas
Funkce VBA TIME vrací aktuální čas jako výstup a může být také použita jako vstup do různých makro řádků kódu. Tato funkce pro ni nemá žádný parametr, a proto má zdaleka nejjednodušší syntaxi jako TIME slovo s prázdnými závorkami, které lze vidět níže:
Syntaxe funkce VBA TIME:
Čas()
Ve skutečnosti není třeba používat ani závorky, můžete jednoduše použít slovo TIME samotné v bloku kódu, který umožňuje systému vrátit aktuální čas. Máme také podobnou funkci nazvanou NOW () v Excel VBA, která vrací aktuální čas spolu s datem. V tomto článku bychom se však celé soustředili na používání funkce TIME a nahlížení na různé pracovní příklady toho samého.
Jak používat Excel VBA Time Function?
Naučíme se používat funkci VBA Time s několika příklady v Excelu.
Tuto šablonu VBA Time Excel si můžete stáhnout zde - VBA Time Excel TemplateČasová funkce VBA - Příklad č. 1
Aktuální systémový čas pomocí funkce TIME:
Podle následujících kroků zobrazte aktuální čas vašeho systému.
Krok 1: Definujte dílčí postup.
Kód:
Sub TimeExample1 () End Sub
Krok 2: Definujte proměnnou, která bude užitečná pro udržení hodnoty času za vás. Definujte to jako String.
Kód:
Sub TimeExample1 () Dim CurrentTime jako String End Sub
Poznámka: Důvodem definování této proměnné jako String je, že funkce TIME je v řetězci.
Krok 3: Pomocí funkce VBA TIME přiřaďte aktuální čas proměnné definované v předchozím kroku pomocí operátoru přiřazení.
Kód:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time End Sub
Krok 4: Jak jsem již zmínil dříve, není nutné přidávat závorky za funkci TIME, protože se jedná o těkavou funkci. Následující kód poskytne ekvivalentní výstup ve srovnání s výše uvedeným kódem.
Kód:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () End Sub
Krok 5: Nyní pomocí funkce MsgBox zobrazte aktuální čas pomocí okna se zprávou na displeji.
Kód:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () MsgBox CurrentTime End Sub
Krok 6: Spusťte tento kód stisknutím klávesy F5 nebo Run a podívejte se na výstup. Měli byste získat výstup, jak je znázorněno na obrázku níže.
Vezměte prosím na vědomí, že čas, který se odráží na obrázku výše, je čas, po který je tento kód spuštěn v systému. Když to vyzkoušíte sami, váš výstup se může lišit v závislosti na době, kdy na tomto kódu pracujete.
Časová funkce VBA - Příklad č. 2
VBA TIME v kombinaci s funkcí Date pro návrat aktuálního času s dnešním datem:
Jak bylo již dříve uvedeno v úvodu tohoto článku, existuje funkce nazvaná NOW (), která vám v aplikaci Microsoft Excel poskytuje aktuální datum i čas. Viz níže uvedený snímek obrazovky.
Ve VBA však tato funkce nefunguje. Proto ve VBA musíme použít kombinaci funkcí VBA Date a VBA TIME, abychom získali aktuální datum a aktuální čas. Datum VBA udává aktuální datum a čas VBA udává aktuální čas (což jsme již viděli v prvním příkladu).
Uvidíme krok za krokem, jak toho můžeme dosáhnout.
Krok 1: Vložte nový modul do skriptu Excel VBA.
Krok 2: Definujte nový dílčí postup zadáním názvu makru.
Kód:
Dílčí příklad2 () Konec Díl
Krok 3: Chtěli jsme, aby byl náš výstup uložen v buňce A1 našeho excelu. Za tímto účelem začněte psát kód níže.
Kód:
Dílčí příklad2 () Rozsah ("A1"). Hodnota = End Sub
Krok 4: Nyní použijte kombinaci funkcí VBA DATE a VBA TIME, jak je ukázáno níže, a přiřaďte její hodnotu buňce A1.
Kód:
Dílčí příklad2 () Rozsah ("A1"). Hodnota = Datum & "" & Časový konec Sub
Funkce DATE vrátí aktuální datum systému a funkce TIME vrátí aktuální čas. Bílé mezery uzavřené v uvozovkách („“) umožňují mít v konečném výstupu mezeru mezi datem a časem. Dva a (a) operátoři pracují jako zřetězení operátorů, kteří zřetězují DATE a TIME s mezerou v něm.
Krok 5: Spusťte kód ručně stisknutím klávesy F5 nebo Run. Výstup v buňce A1 vašeho listu uvidíte jako ránu:
Zde si znovu uvědomte, že čas, který se odráží v buňce A1, je datum a čas, za který tento kód sám spouštím. Proto při spuštění tohoto kódu budou výstupy odlišné.
Hodnoty data a času můžeme také formátovat pomocí funkce NumberFormat ve VBA.
Krok 6: Napište níže uvedený kód do skriptu VBA.
Kód:
Dílčí příklad2 () Rozsah ("A1"). Hodnota = Datum & "" & Časové rozmezí ("A1"). NumberFormat = "dd-mmm-rrrr hh: mm: ss AM / PM" End Sub
Krok 7: Stiskněte klávesu F5 nebo Run ručně a výstup uvidíte níže v buňce A1 vašeho listu.
Časová funkce VBA - Příklad č. 3
Funkce VBA TIME ke sledování otevírací doby a data sešitu:
Někdy existuje jedna tabulka, kterou často otevíráme (jako seznam zaměstnanců organizace) a v ní provedeme změny. Mohlo by nás zajímat datum a čas, kdy byly změny provedeny v listu. Funkci VBA Time lze použít ke sledování data a času při každém otevření sešitu. Postupujte podle následujících kroků.
Krok 1: Vytvořte nový list v sešitu aplikace Excel a přejmenujte jej podle svého pohodlí. Přejmenuji to na (Time_Track).
Krok 2: Poklepejte na ThisWorkbook ve VBE (Visual Basics Editor).
Krok 3: Z rozevíracího seznamu objektů vyberte sešit namísto Obecné.
Krok 4: Uvidíte novou soukromou dílčí proceduru, která bude definována pod názvem Workbook_Open () ve VBE.
Kód:
Soukromý dílčí sešit_Open () End Sub
Krok 5: Zapište si níže uvedený kód v tomto dílčím postupu makra, jak je znázorněno na obrázku níže:
Kód:
Private Sub Workbook_Open () Dim LB As Long LB = Sheets ("Time_Track"). Buňky (Rows.Count, 1) .End (xlUp) .Row + 1 Sheets ("Time_Track"). Buňky (LB, 1) .Value = Datum & "" & Čas () Konec Sub
Zde je definována proměnná LB typu Long pro nalezení buňky vedle poslední použité buňky, kde lze výstup uložit. Poté jsme pomocí kombinace funkcí VBA DATE a TIME přiřadili hodnotu pod tuto buňku.
Krok 6: Spusťte kód ručně stiskem tlačítka F5 nebo Run a podívejte se na výstup ve sloupci A listu.
Tento kód uloží hodnotu data a času při každém otevření listu Time_Track.
Toto je z tohoto článku. Pojďme zabalit věci tím, že napíšeme některé věci, které si pamatujeme.
Co si pamatovat
- Funkce VBA TIME ukládá výstup jako řetězec v Excelu. Můžeme jej však také uložit jako formát data a definovat proměnnou jako datum místo řetězce.
- Funkce TIME v ní nevyžaduje žádný argument. Je to volatilní funkce.
- Pro vyvolání funkce není třeba závorek. K získání aktuálního času stačí pouze TIME.
- Funkce TIME ve výchozím nastavení ukládá hodnotu času ve formátu hh: mm: ss (formát hodin 24 hodin). Výstupní formát však někdy závisí také na formátu vašeho systémového času.
Doporučené články
Toto byl průvodce funkcí VBA Time Function. Zde jsme diskutovali o tom, jak používat Excel VBA Time Functions, a také jsme se naučili Kombinaci data a času jako alternativu k Now () Function a sleduje otevřené záznamy sešitu spolu s některými praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -
- Jak vytvořit Excel VBA MsgBox?
- WORKDAY Excel Funkce | Vzorec
- Průvodce po VBA dělat, zatímco smyčky
- Vložit datum v Excelu