Excel VBA-dato

Der er nogle funktioner, som virkelig er meget nyttige, og vi kvæler vores liv uden, at disse funktioner er en VBA-bruger. DATE-funktion er en af ​​disse funktioner, der til tider kan være meget nyttige til tider og kan gøre livet lettere for en programmerer. I et Excel-regneark er der en funktion kaldet TODAY (), der giver den aktuelle dato som et resultat baseret på systemdatoen. På lignende linjer har VBA DATE-funktion, der giver den aktuelle dato baseret på systemdatoen.

VBA DATE-funktionen returnerer den aktuelle dato baseret på systemdato som et resultat og har virkelig meget enkel syntaks.

Denne funktion har ikke noget argument, der skal overføres, kommer med navnet på funktionen og tomme parenteser. Det er ikke obligatorisk at tilføje parenteser, mens du kalder denne funktion. Er denne funktion egentlig ikke enkel?

Syntaks for DATE-funktion i VBA.

Sådan bruges Excel VBA-datofunktion?

Vi lærer, hvordan man bruger en VBA Date-funktion med få eksempler i Excel.

Du kan downloade denne VBA Date Excel-skabelon her - VBA Date Excel Template

VBA-datofunktion - eksempel # 1

Antag, at du ønskede at se den aktuelle dato i MsgBox. Hvordan kan du gøre det? Bare følg nedenstående trin, så kommer du igennem.

Trin 1: Indsæt et nyt modul i din Visual Basic Editor.

Trin 2: Definer en underprocedure til at skrive oprette og gemme en makro.

Kode:

 Sub DateEx1 () End Sub 

Trin 3: Definer en variabel ved navn CurrDate, der kan indeholde værdien af ​​den aktuelle dato. Da vi er ved at tildele en datoværdi til variablen, skal du sørge for at definere den som en dato.

Kode:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Trin 4: Brug tildelingsoperatøren, tildel en værdi af den aktuelle systemdato til den nyoprettede variabel. Du skal bare tilføje DATE for at tildele datoværdien. Brug følgende kodestykke:

Kode:

 Sub DateEx1 () Dim CurrDate Som dato CurrDate = Date End Sub 

Trin 5: Brug MsgBox for at kunne se den aktuelle systemdato under meddelelsesboks-prompten. Brug kodelinjen nedenfor:

Kode:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Date MsgBox "Dagens dato er:" & CurrDate End Sub 

Trin 6: Hit F5 eller kør knappen manuelt for at køre denne kode. Du kan se en meddelelsesboks som vist i nedenstående skærmbillede med den aktuelle dato.

Bemærk, at datoen, der vises her i skærmbillede, er den dato, jeg har kørt dette script på. Du får muligvis en anden dato på det tidspunkt, du kører denne kode, baseret på din systemdato.

Dette er det enkleste eksempel på at få den aktuelle dato. Du kan også bruge Cells.Value-funktionen til at få datoværdien i en bestemt celle på dit excelark.

VBA-datofunktion - eksempel # 2

Huslåns EMI-forfaldsdag

Antag, at jeg har et regneark, og jeg har brug for et system, der viser mig en meddelelse “ Hej! Du skal betale dit EMI i dag. ”Hver gang jeg åbner mit ark, og værdien i celle A1 er den aktuelle systemdato. Lad os se trin for trin, hvordan vi kan gøre det.

Trin 1: Indsæt et nyt modul og definer en ny underprocedure med navnet auto_open () for at oprette en makro. auto_open () gør det muligt for din makro at køre automatisk hver gang du åbner regnearket.

Kode:

 Sub auto_open () End Sub 

Trin 2: Brug If-betingelse til at tildele værdien af ​​den aktuelle dato i celle A1 i regnearket HomeLoan_EMI.

Kode:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Værdi = Date End Sub 

Trin 3: Nu skal du bruge derefter på den samme linje efter IF, så vi kan tilføje en erklæring, der udføres, så længe hvis -tilstanden er sand.

Kode:

 Sub auto_open () Hvis ark ("HomeLoan_EMI"). Område ("A1"). Værdi = Dato, derefter slutning af sub 

Trin 4: Tilføj en erklæring, der skal udføres for den rigtige betingelse.

Kode:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Værdi = dato Så MsgBox ("Hey! Du skal betale din EMI i dag.") End Sub 

Denne erklæring vises under meddelelsesboksen, så snart Hvis en betingelse er sand.

Trin 5: Som vi ved, havde enhver IF-tilstand altid brug for en anden betingelse. Føj en anden betingelse til denne løkke.

Kode:

 Sub auto_open () Hvis ark ("HomeLoan_EMI"). Område ("A1"). Værdi = Dato Så MsgBox ("Hej! Du skal betale din EMI i dag.") Ellers afslutte sub slut sub 

Denne anden betingelse afslutter den automatiske åbning af makro, hvis en dato i celle A1 ikke er den aktuelle systemdato.

Trin 6: Afslut endelig IF-loop ved hjælp af sætning End IF.

Kode:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Værdi = Dato. Så MsgBox ("Hey! Du skal betale din EMI i dag.") Ellers afslutte Sub End Hvis End Sub 

Trin 7: Dette er det, nu, hver gang du åbner dit regneark, kører systemet automatisk ovenstående kode og se, om datoværdien i celle A1 er din EMI-forfaldsdato eller ej. Hvis EMI-forfaldsdagen svarer til systemdatoen, viser den meddelelsen som nedenfor:

VBA-datofunktion - eksempel # 3

VBA-dato for at finde ud af betalingsmodtageren for kreditkort

Antag, at jeg har en liste over kunder, der har et kreditkort, og du vil vide, hvem der skal betales i dag. Så du kan ringe til dem og bede dem om at betale deres skyld med det samme af EOD.

VBA-dato kan være praktisk ved at lade dig automatisere tingene i stedet for at kontrollere datoerne en efter en. Lad os se, hvordan vi gør dette trin for trin:

Trin 1: Definer en ny makro ved hjælp af en underprocedure under et modul.

Kode:

 Sub DateEx3 () End Sub 

Trin 2: Definer to nye variabler, hvoraf den ene vil være nyttig til at lukke koden op og en anden for at holde værdien på den aktuelle systemdato.

Kode:

 Sub DateEx3 () Dim DateDue Som Date Dim i Så lang DateDue = Date i = 2 End Sub 

Trin 3: Brug nu følgende kodestykke, der hjælper med at søge efter den person, der har en forfaldsdato for et kreditkortregning som den aktuelle systemdato. Denne kode giver mulighed for at kontrollere den kunde, der har fakturobetaling på den aktuelle systemdato sammen med fakturabeløbet.

Kode:

 Sub DateEx3 () Dim DateDue Som Date Dim i Så lang DateDue = Date i = 2 For i = 2 To Sheets ("CC_Bill"). Celler (Rækker, antal, 1). End (xlUp) .Row If DateDue = DateSerial ( År (DateDue), Måned (Ark ("CC_Bill"). Celler (i, 3). Værdi), Dag (Ark ("CC_Bill"). Celler (i, 3). Værdi)) Så MsgBox "Kundenavn:" & Ark ("CC_Bill"). Celler (i, 1) .Value & vbNewLine & "Premium beløb:" & Sheets ("CC_Bill"). Celler (i, 2) .Value End Hvis Next i End Sub 

Trin 4: Kør denne kode ved at trykke på F5 eller Run-knappen manuelt og se output.

Ved den første iteration kan vi se, at Mohan er den, der har en regning på 12.900, der forfalder den 29. april-2019 (den aktuelle systemdato, hvor denne kode køres). Hvis vi rammer OK, kan vi se det næste kundenavn, der har en regning, der skal betales 29. april-2019 (Rajani er den næste).

Denne kode vil virkelig være praktisk, når du har millioner af rækker af kunder, der har deres regning på grund af en bestemt dag. Bemærk, at alle de scripts, der er nævnt i denne artikel, køres 29. april-2019. Du får muligvis anden datoværdi, når du kører denne prøvekode baseret på systemdatoen.

Ting at huske

  • VBA DATE-funktion returnerer den aktuelle systemdato og som parallel med Excel's TODAY () -funktion.
  • VBA DATE-funktion har ikke noget argument, der skal videregives i Excel. Behøver ikke engang parenteserne kaldes, mens jeg bruger denne funktion i koden.
  • VBA DATE er en ikke-flygtig funktion i Excel.
  • VBA lagrer datoværdier som DATE på udførelsestidspunktet. Så definerer ikke en variabel holdeværdi som et streng / heltal. Det vil medføre en fejl under udførelsen af ​​koden.

Anbefalede artikler

Dette har været en guide til Excel VBA-dato. Her har vi drøftet, hvordan man bruger Excel VBA-datofunktioner sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Hvad er VBA-datoformat?
  2. Excel indsæt dato | Excel-tutorial
  3. VBA GoTo | Sådan bruges?
  4. EDATE Excel-funktion (formel, eksempel)
  5. Hvad er VBA DateSerial?

Kategori: