Dátum Excel VBA

Existujú niektoré funkcie, ktoré sú skutočne veľmi užitočné, a dusíme náš život bez toho, aby boli užívateľmi VBA. Funkcia DATE je jednou z tých funkcií, ktoré môžu byť niekedy veľmi užitočné a programátorovi môžu uľahčiť život. V tabuľke programu Excel je funkcia nazvaná DNES (), ktorá ako výsledok udáva aktuálny dátum na základe systémového dátumu. Na podobných riadkoch má VBA funkciu DATE, ktorá udáva aktuálny dátum na základe systémového dátumu.

Výsledkom je funkcia VBA DATE, ktorá vracia aktuálny dátum na základe systémového dátumu a má veľmi jednoduchú syntax.

Táto funkcia nemá žiadny argument, ktorý má byť odovzdaný, prichádza s názvom funkcie a prázdnymi zátvorkami. Pri volaní tejto funkcie nie je povinné pridávať zátvorky. Nie je táto funkcia v podstate jednoduchá?

Syntax funkcie DATE vo VBA.

Ako používať funkciu Excel VBA Date?

Naučíme sa používať funkciu VBA Date s niekoľkými vynikajúcimi príkladmi.

Túto šablónu Excel VBA Date Excel si môžete stiahnuť tu - VBA Date Excel Template

Funkcia dátumu VBA - príklad č. 1

Predpokladajme, že ste chceli vidieť aktuálny dátum v MsgBoxe. Ako to môžeš robiť? Postupujte podľa krokov uvedených nižšie a budete hotoví.

Krok 1: Vložte nový modul do editora jazyka Visual Basic.

Krok 2: Definujte čiastkovú procedúru na zápis na vytvorenie a uloženie makra.

kód:

 Sub DateEx1 () End Sub 

Krok 3: Definujte premennú s názvom CurrDate, ktorá dokáže uchovať hodnotu aktuálneho dátumu. Keďže sa chystáme premennej priradiť hodnotu dátumu, uistite sa, že ju definujete ako dátum.

kód:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Krok 4: Pomocou operátora priradenia priraďte premennej novo vytvorenej premennej hodnotu aktuálneho systémového dátumu. Na priradenie hodnoty dátumu stačí pridať DATE. Použite nasledujúci kód:

kód:

 Sub DátumEx1 () Dim Dátum Dátum Ako Dátum Dátum Dátum = Dátum Koniec Sub 

Krok 5: Použite MsgBox, aby ste mohli vidieť aktuálny systémový dátum pod výzvou Message Box. Použite nasledujúci riadok kódu:

kód:

 Sub DátumEx1 () Dim Dátum výmeny Dátum Dátum Dátum = Dátum MsgBox "Dnešný dátum je:" & Dátum ukončenia Dátum 

Krok 6: Pre spustenie tohto kódu stlačte F5 alebo manuálne spustite tlačidlo. Zobrazí sa okno správy, ako je znázornené na obrázku nižšie s aktuálnym dátumom.

Všimnite si, že dátum uvedený tu na snímke obrazovky je dátum, kedy som spustil tento skript. Pri spustení tohto kódu sa vám môže na základe vášho systémového dátumu zobraziť iný dátum.

Toto je najjednoduchší príklad získania aktuálneho dátumu. Funkciu Cells.Value môžete použiť aj na získanie hodnoty dátumu v konkrétnej bunke excelovského hárku.

Funkcia dátumu VBA - príklad č. 2

Dátum splatnosti platby EMI na domáci úver

Predpokladajme, že mám pracovný list a potrebujem systém, ktorý mi ukáže správu „ Hej! Dnes musíte zaplatiť svoj EMI. „Zakaždým, keď otvorím môj hárok a hodnota v bunke A1 je aktuálny systémový dátum. Pozrime sa krok za krokom, ako to môžeme urobiť.

Krok 1: Vložte nový modul a definujte novú čiastkovú procedúru s názvom auto_open () na vytvorenie makra. auto_open () umožňuje, aby sa vaše makro spúšťalo automaticky pri každom otvorení pracovného hárka.

kód:

 Sub auto_open () End Sub 

Krok 2: Použite podmienku If, ak chcete priradiť hodnotu aktuálneho dátumu v bunke A1 pracovného listu HomeLoan_EMI.

kód:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date End Sub 

Krok 3: Teraz použite príkaz Potom na rovnakom riadku po IF, aby sme mohli pridať príkaz, ktorý sa vykoná, pokiaľ je splnená podmienka if.

kód:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then End Sub 

Krok 4: Pridajte príkaz, ktorý sa má vykonať pre podmienku, ktorá je pravdivá.

kód:

 Sub auto_open () Ak sú Tabuľky („HomeLoan_EMI“). Rozsah („A1“). Hodnota = Dátum, potom MsgBox („Ahoj! Dnes musíš zaplatiť svoj EMI.“) End Sub 

Toto vyhlásenie sa zobrazí v okne správ hneď, ako bude splnená podmienka Ak je splnená.

Krok 5: Ako vieme, každá podmienka IF vždy potrebovala podmienku Else. Pridajte do tejto slučky podmienku Else.

kód:

 Sub auto_open () Ak sú Tabuľky („HomeLoan_EMI“). Rozsah („A1“). Hodnota = Dátum, potom MsgBox („Ahoj! 

Táto ďalšia podmienka ukončí automatické otvorenie makra, ak dátum v bunke A1 nie je aktuálny systémový dátum.

Krok 6: Nakoniec ukončite cyklus IF pomocou príkazu End IF.

kód:

 Sub auto_open () Ak sú Tabuľky („HomeLoan_EMI“). Rozsah („A1“). Hodnota = Dátum, potom MsgBox („Ahoj! 

Krok 7: Je to tak, že teraz pri každom otvorení pracovného hárka systém automaticky spustí vyššie uvedený kód a uvidí, či je hodnota dátumu v bunke A1 váš dátum splatnosti EMI alebo nie. Ak sa dátum splatnosti EMI rovná systémovému dátumu, správa sa zobrazí takto:

Funkcia VBA - príklad # 3

Dátum VBA na zistenie príjemcu platby kreditnou kartou

Predpokladajme, že mám zoznam zákazníkov, ktorí majú kreditnú kartu a chcete vedieť, kto má dnes splatnú platbu. Aby ste im mohli zavolať a požiadať ich, aby okamžite splatili svoje dlhy prostredníctvom EOD.

Dátum VBA by mohol byť užitočný pri automatizácii vecí namiesto kontroly dátumov jeden po druhom. Pozrime sa, ako to urobiť krok za krokom:

Krok 1: Definujte nové makro pomocou podprogramu v rámci modulu.

kód:

 Sub DátumEx3 () Koniec Sub 

Krok 2: Definujte dve nové premenné, z ktorých jedna bude užitočná pri vytváraní slučiek kódu a druhá, aby sa zachovala hodnota aktuálneho systémového dátumu.

kód:

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

Krok 3: Teraz použite nasledujúci kód, ktorý vám pomôže pri hľadaní osoby, ktorá má dátum splatnosti faktúry na kreditnej karte ako aktuálny systémový dátum. Tento kód umožňuje skontrolovať zákazníka, ktorý má splatnú faktúru v aktuálny systémový dátum, spolu s čiastkou faktúry.

kód:

 Sub DateEx3 () Dim DateDue ako Date Dim i ako Long DateDue = Date i = 2 For i = 2 To Sheet ("CC_Bill"). Bunky (Rows.Count, 1) .End (xlUp) .Row If DateDue = DateSerial ( Rok (Dátum), Mesiac (Tabuľky („CC_Bill“). Bunky (i, 3) .Hodnota), Deň (Tabuľky („CC_Bill“). Bunky (i, 3) .Hodnota)) Potom MsgBox „Meno zákazníka:“ & Tabuľky („CC_Bill“). Bunky (i, 1) .Hodnota a vbNewLine & „Prémiové množstvo:“ & Tabuľky („CC_Bill“). Bunky (i, 2). Koniec hodnoty, ak je nasledujúci i Koniec Sub 

Krok 4: Spustite tento kód manuálnym stlačením klávesu F5 alebo Run a pozrite si výstup.

Pri prvej iterácii vidíme, že Mohan je ten, kto má splatný účet vo výške 12 900 splatný 29. apríla 2019 (aktuálny systémový dátum, kedy je tento kód spustený). Ak narazíme na OK, vidíme nasledujúce meno zákazníka, ktorý má faktúru splatnú 29. apríla 2019 (Rajani je ďalší).

Tento kód bude skutočne užitočný, ak máte milióny riadkov zákazníkov, ktorí majú splatný účet v jeden konkrétny deň. Upozorňujeme, že všetky skripty uvedené v tomto článku sú spustené 29. apríla 2019. Pri spustení týchto vzorových kódov na základe systémového dátumu môžete získať inú hodnotu dátumu.

Čo je potrebné pamätať

  • Funkcia VBA DATE vracia aktuálny systémový dátum a paralelne s funkciou TODAY () Excelu.
  • Funkcia VBA DATE nemá žiadny argument, ktorý by mal byť odovzdaný v Exceli. Pri používaní tejto funkcie v kóde nie je potrebné zavolať zátvorky.
  • VBA DATE je energeticky nezávislá funkcia.
  • VBA ukladá hodnoty dátumu ako DÁTUM v čase vykonávania. Takže nedefinuje premennú hodnotu držby ako String / Integer. Počas vykonávania kódu spôsobí chybu.

Odporúčané články

Toto bol sprievodca dátumom Excel VBA. Tu sme diskutovali o tom, ako používať Excel VBA Date Functions spolu s praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Čo je formát dátumu VBA?
  2. Dátum vloženia programu Excel Výukový program Excel
  3. VBA GoTo | Ako použiť?
  4. Funkcia EDATE Excel (vzorec, príklad)
  5. Čo je VBA DateSerial?

Kategórie: