Excel VBA Datum

Obstaja nekaj funkcij, ki so resnično priročne, zato se zadušimo življenja, ne da bi bile te funkcije uporabnik VBA. Funkcija DATE je ena tistih funkcij, ki je lahko včasih zelo uporabna in programerju olajša življenje. V Excelovi preglednici je funkcija, imenovana TODAY (), ki poda trenutni datum kot rezultat, ki temelji na sistemskem datumu. V podobnih vrsticah ima VBA funkcijo DATE, ki daje trenutni datum glede na sistemski datum.

Funkcija VBA DATE vrne trenutni datum na podlagi sistemskega datuma in ima resnično zelo preprosto skladnjo.

Ta funkcija nima nobenega argumenta, ki bi ga lahko posredovali, prihaja z imenom funkcije in praznimi oklepaji. Med pozivanjem te funkcije ni treba dodati oklepajev. Ali ta funkcija v naravi res ni preprosta?

Sintaksa funkcije DATE v VBA.

Kako uporabljati funkcijo datuma Excel VBA?

Naučili se bomo uporabljati funkcijo Datum VBA z nekaj primeri v excelu.

Predlogo za VBA Date Excel lahko prenesete tukaj - Predloga VBA Date Excel

VBA Datum funkcija - Primer # 1

Recimo, da ste želeli videti trenutni datum v MsgBoxu. Kako lahko to storite? Samo sledite spodnjim korakom in že boste šli skozi.

1. korak: Vstavite nov modul v svoj Visual Basic urejevalnik.

2. korak: Določite podproces za pisanje ustvarjanja in shranjevanja makra.

Koda:

 Sub DateEx1 () Konec Sub 

3. korak: Določite spremenljivko z imenom CurrDate, ki lahko vsebuje vrednost trenutnega datuma. Ker bomo spremenljivki dodelili vrednost datuma, se prepričajte, da jo definirate kot datum.

Koda:

 Pod DatumEx1 () Dim CurrDate As Date End Sub 

4. korak: Z uporabo operaterja dodeljevanja novo ustvarjeni spremenljivki dodelite vrednost trenutnega sistemskega datuma. Če želite dodeliti vrednost datuma, morate dodati DATE. Uporabite naslednji del kode:

Koda:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Datum konca Sub 

5. korak: Uporabite MsgBox, da lahko vidite trenutni sistemski datum pod pozivom Message Box. Uporabite spodnjo vrstico kode:

Koda:

 Pod datumEx1 () Dim CurrDate kot datum CurrDate = datum MsgBox "Današnji datum je:" & CurrDate konec pod 

6. korak: Pritisnite tipko F5 ali ročno zaženite gumb, če želite zagnati to kodo. Videli boste lahko polje s sporočili, kot je prikazano na spodnjem posnetku zaslona s trenutnim datumom.

Upoštevajte, da je datum, prikazan tukaj na posnetku zaslona, ​​datum, ko sem izvedel ta skript. V času, ko zaženete to kodo, boste morda dobili drug datum glede na vaš sistemski datum.

To je najpreprostejši primer pridobivanja trenutnega datuma. Uporabite lahko tudi funkcijo Cells.Value, da dobite vrednost datuma v določeni celici vašega excel lista.

Funkcija datuma VBA - primer # 2

Datum zapadlosti plačila posojila EMI

Recimo, da imam delovni list in potrebujem sistem, da mi pokaže sporočilo " Hej! Danes morate plačati svoj EMI. "Vsakič, ko odprem list in je vrednost v celici A1 trenutni sistemski datum. Poglejmo korak za korakom, kako to lahko storimo.

1. korak: Vstavite nov modul in določite nov podpostop z imenom auto_open (), da ustvarite makro. auto_open () omogoča, da se vaš makro samodejno zažene vsakič, ko odprete delovni list.

Koda:

 Sub auto_open () Končaj Sub 

Korak 2: Uporabite Če je pogoj, da v celici A1 delovnega lista HomeLoan_EMI dodelite vrednost trenutnega datuma.

Koda:

 Sub auto_open () Če Sheets ("HomeLoan_EMI"). Obseg ("A1") Vrednost = Datum Konec Pod 

Korak 3: Zdaj uporabite IF v isti vrstici za IF, tako da lahko dodamo izjavo, ki se bo izvajala, dokler je resnični pogoj.

Koda:

 Sub auto_open () Če Sheets ("HomeLoan_EMI"). Obseg ("A1") Vrednost = Datum Nato Končaj Sub 

4. korak: Dodajte stavek, ki ga je treba izvesti za pogoj, ki je resničen.

Koda:

 Sub auto_open () Če Sheets ("HomeLoan_EMI"). Obseg ("A1") Vrednost = Datum Nato MsgBox ("Hej! Danes morate plačati svoj EMI.") End Sub 

Ta izjava se prikaže pod poljem za sporočila takoj, ko je pogoj resničen.

5. korak: Kot vemo, je vsak pogoj IF vedno potreboval pogoj Else. V to zanko dodajte pogoj Else.

Koda:

 Sub auto_open () Če Sheets ("HomeLoan_EMI"). Obseg ("A1") Vrednost = Datum Nato MsgBox ("Hej! Danes morate plačati svoj EMI.") Else Exit Sub End Sub 

S tem drugim pogojem se prekine samodejno odpiranje Makra, če datum v celici A1 ni trenutni sistemski datum.

6. korak: Končajte zanko IF z uporabo stavka End IF.

Koda:

 Sub auto_open () Če Sheets ("HomeLoan_EMI"). Obseg ("A1") Vrednost = Datum Nato MsgBox ("Hej! Danes morate plačati svoj EMI.") Izpustite Sub End End End End End 

Korak 7: To je to, zdaj bo sistem vsakič, ko odprete delovni list, samodejno izvedel zgornjo kodo in ugotovil, ali je vrednost datuma v celici A1 vaš rok EMI ali ne. Če je rok zapadlosti EMI enak sistemskemu datumu, bo sporočilo prikazano kot spodaj:

VBA Datum funkcija - Primer # 3

Datum VBA, če želite izvedeti prejemnika plačila s kreditno kartico

Recimo, da imam seznam strank, ki imajo kreditno kartico in želite vedeti, komu je danes zapadlo plačilo. Tako jih lahko pokličete in zahtevate, naj takoj plačajo svoje obveznosti.

Datum VBA bi vam lahko priročno omogočil avtomatizacijo stvari, namesto da datumov preverjate enega za drugim. Poglejmo, kako to storiti korak za korakom:

1. korak: Določite nov makro s podprocepom v modulu.

Koda:

 Sub DateEx3 () Konec Sub 

2. korak: Določite dve novi spremenljivki, od katerih bo ena uporabna pri povezovanju kode navzgor in druga, da zadrži vrednost trenutnega sistemskega datuma.

Koda:

 Sub DateEx3 () Dim DateDue Kot datum Dim i As Long DateDue = Datum i = 2 End Sub 

Korak 3: Zdaj uporabite spodnji del kode, ki vam pomaga pri iskanju osebe, ki ima datum zapadlosti računa za kreditno kartico, kot trenutni sistemski datum. Ta koda omogoča preverjanje stranke, ki ji je treba plačati račun na trenutni sistemski datum, skupaj z zneskom računa.

Koda:

 Pod DateEx3 () Dim DateDue Kot datum Dim i As Long DateDue = Datum i = 2 Za i = 2 do listov ("CC_Bill"). Celice (vrstice.številka, 1) .End (xlUp) .Row If DateDue = DateSerial ( Leto (DateDue), Mesec (Sheets ("CC_Bill"). Celice (i, 3) .Value)), Dan (Sheets ("CC_Bill"). Celice (i, 3) .Value)) Nato MsgBox "Ime stranke:" & Sheets ("CC_Bill"). Celice (i, 1) .Value & vbNewLine & "Premijski znesek:" & Sheets ("CC_Bill"). Celice (i, 2). EndValue End If Next i End Sub 

4. korak: Zaženite to kodo tako, da ročno pritisnete tipko F5 ali Run in si oglejte izhod.

Na prvi iteraciji lahko vidimo, da je Mohan tisti, ki ima 29. aprila 2019 12.000 računov (trenutni sistemski datum, na katerem se izvaja ta koda). Če pritisnemo na V redu, bomo lahko videli naslednje ime stranke, ki ima 29. aprila 2019 račun (Rajani je naslednji).

Ta koda bo resnično uporabna, če imate na milijone vrstic kupcev, ki imajo en dan določen račun. Upoštevajte, da se vsi skripti, omenjeni v tem članku, izvajajo 29. aprila 2019. Ko zaženete te vzorčne kode, ki temeljijo na sistemskem datumu, lahko dobite drugačno vrednost datuma.

Stvari, ki jih je treba zapomniti

  • Funkcija VBA DATE vrne trenutni sistemski datum in vzporedno s Excelovo funkcijo TODAY ().
  • VBA DATE funkcija nima nobenega argumenta, ki bi ga lahko posredoval v excelu. Med uporabo te funkcije v kodi niti ne potrebujete oklepajev.
  • DATUM VBA je nehlapna funkcija v excelu.
  • VBA shrani vrednosti datuma kot DATE v času izvedbe. Torej, ne definira spremenljive vrednosti hranitve kot String / Integer. Med izvajanjem kode bo prišlo do napake.

Priporočeni članki

To je vodnik za datum Excel VBA. Tu smo razpravljali o uporabi datumskih funkcij Excel VBA skupaj s praktičnimi primeri in prenosno predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kaj je format datuma VBA?
  2. Excel Datum vstavitve | Excel Vadnica
  3. VBA GoTo | Kako uporabiti?
  4. EDATE Excel funkcija (formula, primer)
  5. Kaj je VBA DateSerial?

Kategorija: