Excel VBA-datum

Det finns några funktioner som verkligen är mycket praktiska, och vi kväver vårt liv utan att dessa funktioner är VBA-användare. DATE-funktionen är en av de funktioner som kan vara väldigt användbara ibland och som kan göra livet enklare för en programmerare. I ett Excel-kalkylblad finns det en funktion som heter TODAY () som ger det aktuella datumet som ett resultat baserat på systemdatumet. På liknande linjer har VBA DATE-funktion som ger aktuellt datum baserat på systemdatum.

Funktionen VBA DATE returnerar det aktuella datumet baserat på systemdatum som ett resultat och har verkligen mycket enkel syntax.

Denna funktion har inget argument som ska överföras kommer med namnet på funktionen och tomma parenteser. Det är inte obligatoriskt att lägga till parenteserna också när du kallar denna funktion. Är den här funktionen inte riktigt enkel?

Syntaxen för DATE-funktionen i VBA.

Hur använder jag Excel VBA Date-funktion?

Vi kommer att lära dig att använda en VBA Date-funktion med några exempel i Excel.

Du kan ladda ner denna VBA Date Excel Mall här - VBA Date Excel Mall

VBA-datumfunktion - exempel # 1

Anta att du ville se det aktuella datumet i MsgBox. Hur kan du göra det? Följ bara stegen nedan så kommer du igenom.

Steg 1: Sätt i en ny modul i din Visual Basic Editor.

Steg 2: Definiera en delprocedur för att skriva skapa och spara ett makro.

Koda:

 Sub DateEx1 () Slut Sub 

Steg 3: Definiera en variabel med namnet CurrDate som kan innehålla värdet för det aktuella datumet. Sedan kommer vi att tilldela ett datumvärde till variabeln, se till att du definierar det som ett datum.

Koda:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Steg 4: Använd tilldelningsoperatören och tilldela ett värde på det aktuella systemdatumet till den nyskapade variabeln. Du behöver bara lägga till DATE för att tilldela datumvärdet. Använd följande kodkod:

Koda:

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

Steg 5: Använd MsgBox för att kunna se det aktuella systemdatumet under meddelandelådan. Använd kodraden nedan:

Koda:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Date MsgBox "Dagens datum är:" & CurrDate End Sub 

Steg 6: Tryck på F5 eller kör manuellt för att köra den här koden. Du kan se en meddelanderuta som visas i skärmbilden nedan med det aktuella datumet.

Observera att datumet som visas här i skärmdumpen är det datum jag har kört detta skript på. Du kanske får ett annat datum när du kör den här koden, baserat på ditt systemdatum.

Detta är det enklaste exemplet på att få det aktuella datumet. Du kan också använda funktionen Cells.Value för att få datumvärdet i en viss cell i ditt excel-ark.

VBA-datumfunktion - exempel # 2

Hemlån EMI betalningsdatum

Anta att jag har ett kalkylblad och jag behöver ett system för att visa mig ett meddelande “ Hej! Du måste betala ditt EMI idag. ”Varje gång jag öppnar mitt ark och värdet i cell A1 är det aktuella systemdatumet. Låt oss se steg för steg hur vi kan göra det.

Steg 1: Sätt i en ny modul och definiera en ny delprocedur med namnet auto_open () för att skapa ett makro. auto_open () gör att ditt makro kan köras automatiskt varje gång du öppnar kalkylbladet.

Koda:

 Sub auto_open () Slut Sub 

Steg 2: Använd If-villkor för att tilldela värdet för det aktuella datumet i cell A1 i kalkylbladet HomeLoan_EMI.

Koda:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Värde = Date End Sub 

Steg 3: Nu använder du sedan på samma rad efter IF så att vi kan lägga till ett uttalande som kommer att köras så länge som om villkoret är sant.

Koda:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Värde = Datum och sedan slut Sub 

Steg 4: Lägg till ett uttalande som ska köras för det villkor som är sant.

Koda:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Sedan MsgBox ("Hej! Du måste betala ditt EMI idag.") End Sub 

Detta uttalande dyker upp under Meddelandelådan så snart om villkoret är sant.

Steg 5: Som vi vet behövde varje IF-tillstånd alltid ett annat tillstånd. Lägg till ett annat villkor i den här slingan.

Koda:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Sedan MsgBox ("Hej! Du måste betala ditt EMI idag.") Annars Avsluta Sub End Sub 

Detta annat villkor avslutar den automatiska öppningen av makro om ett datum i cell A1 inte är det aktuella systemdatumet.

Steg 6: Avsluta slutligen IF-slingan med uttalandet Avsluta IF.

Koda:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Hej! Du måste betala ditt EMI idag.") Annars Avsluta Sub End If End Sub 

Steg 7: Detta är det, nu varje gång du öppnar kalkylbladet kommer systemet automatiskt att köra ovanstående kod och se om datumvärdet i cell A1 är ditt EMI-förfallodatum eller inte. Om EMI-förfallodagen är lika med systemdatumet kommer det att visa meddelandet enligt nedan:

VBA-datumfunktion - exempel # 3

VBA-datum för att ta reda på kreditmottagarens kreditkort

Anta att jag har en lista över kunder som har ett kreditkort och du vill veta vem som har betalning i dag. Så att du kan ringa dem och be dem omedelbart betala sitt förfall av EOD.

VBA-datum kan vara praktiskt för att du kan automatisera sakerna istället för att kontrollera datumen en efter en. Låt oss se hur vi gör detta steg för steg:

Steg 1: Definiera ett nytt makro med hjälp av en delprocedur under en modul.

Koda:

 Sub DateEx3 () Slut Sub 

Steg 2: Definiera två nya variabler, varav en kommer att vara användbar för att slinga upp koden och en annan för att hålla värdet på det aktuella systemdatumet.

Koda:

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

Steg 3: Använd nu följande kodkod som hjälper dig att söka efter den person som har en förfallodag på kreditkortsräkningen som det aktuella systemdatumet. Den här koden gör det möjligt att kontrollera kunden som har fakturobetalning på det aktuella systemdatumet tillsammans med fakturabeloppet

Koda:

 Sub DateEx3 () Dim DateDue Som Date Dim i som Long DateDue = Date i = 2 För i = 2 To Sheets ("CC_Bill"). Celler (rader. Antal, 1) .End (xlUp) .Row If DateDue = DateSerial ( År (DateDue), Månad (Sheets ("CC_Bill"). Celler (i, 3) .Värde), Day (Sheets ("CC_Bill"). Cells (i, 3) .Value)) Sedan MsgBox "Kundnamn:" & Sheets ("CC_Bill"). Celler (i, 1) .Value & vbNewLine & "Premium Belopp:" & Sheets ("CC_Bill"). Celler (i, 2) .Value End If Next i End Sub 

Steg 4: Kör den här koden genom att slå F5 eller Run-knappen manuellt och se utgången.

Vid den första iterationen kan vi se att Mohan är den som har en räkning på 12 900 förfallna den 29-april-2019 (nuvarande systemdatum som denna kod körs). Om vi ​​träffar OK kan vi se nästa kundnamn som har en räkning som ska betalas den 29-april-2019 (Rajani är nästa).

Den här koden kommer verkligen att vara praktiskt när du har miljoner rader av kunder som har sin faktura på en viss dag. Observera att alla skript som nämns i den här artikeln körs 29 april-2019. Du kan få ett annat datumvärde när du kör denna provkod baserat på systemdatumet.

Saker att komma ihåg

  • VBA DATE-funktionen returnerar det aktuella systemdatumet och som parallellt med Excel's TODAY () -funktion.
  • VBA DATE-funktionen har inga argument som ska skickas i Excel. Behöver inte ens parenteserna ringas när jag använder den här funktionen i koden.
  • VBA DATE är en icke-flyktig funktion i Excel.
  • VBA lagrar datumvärden som DATE vid tidpunkten för genomförandet. Så definierar inte ett variabelt innehavsvärde som ett sträng / heltal. Det kommer att orsaka ett fel under körning av koden.

Rekommenderade artiklar

Detta har varit en guide till Excel VBA Date. Här har vi diskuterat hur du använder Excel VBA Date-funktioner tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Vad är VBA-datumformat?
  2. Excel Infoga datum | Excel-handledning
  3. VBA GoTo | Hur man använder?
  4. EDATE Excel-funktion (formel, exempel)
  5. Vad är VBA DateSerial?

Kategori: