VBA nu

Excel VBA Now-functie

NU is een datum- en tijdfunctie in beide VBA die wordt gebruikt om de huidige systeemdatum en -tijd te krijgen, net als de werkbladfunctie die geen argumenten bevat, in VBA neemt de functie nu ook geen argumenten op, de retouruitvoer voor deze functie is datum.

De VBA NOW-functie is vergelijkbaar met die in de Excel-werkbladfunctie. Net zoals de DATE-functie in VBA "NOW" ook geen parameters heeft om door te geven, hoeven we alleen de functie door te geven met gesloten haakjes of ook zonder haakjes. Door de DATUM-functie in VBA te gebruiken, kunnen we de huidige datum genereren als weergave van het systeem waaraan we werken. Ik heb echter situaties gezien waarin we zowel de huidige tijd als de datum nodig hebben. In Excel kunnen we veel verschillende dingen doen, op dezelfde manier kunnen we de huidige datum en tijd genereren met een eenvoudige functie genaamd NU in Excel.

De formule van de VBA NOW is eenvoudig.

NU ()

Voorbeeld van NOW-functie in VBA Excel

Bekijk het eenvoudige voorbeeld van de NOW-functie in VBA. Volg de onderstaande stappen om de VBA-code te schrijven en heb behoorlijk wat kennis over NOW en het schrijven van de code.

Stap 1: Start de subprocedure door een macronaam op te geven.

Code:

 Sub Now_Example1 () End Sub

Stap 2: Declareer de variabele als "Datum". De reden waarom we de variabele als "Datum" moeten declareren, omdat ons eindresultaat de indeling Datum en Tijd heeft.

Code:

 Sub Now_Example1 () Dim k As Date End Sub 

Stap 3: Wijs de waarde toe aan de variabele "k" door de VBA NOW-functie toe te passen.

Code:

 Sub Now_Example1 () Dim k As Date k = Now End Sub 

Stap 4: Toon nu de waarde van de functie NOW die we hebben toegewezen aan de variabele “k” in het berichtvenster in VBA.

Code:

 Sub Now_Example1 () Dim k As Date k = Now MsgBox k End Sub 

Ok, we zijn klaar.

Voer de code uit met behulp van de F5-toets of handmatig en kijk wat het resultaat is.

Het resultaat toont 15-4-2019 om 5:03:35.

De datumnotatie van mijn computer is "mm-dd-jjjj".

We kunnen de datumnotatie ook wijzigen met behulp van de FORMAT-functie. Hieronder staat de code om de datumnotatie te wijzigen.

Code:

 Sub Now_Example1 () Dim k As Date k = Now MsgBox Format (k, "DD-MMM-YYYY HH: MM: SS") End Sub 

Voer de code uit en zie het verschil.

Nu hebben we een correct datum- en tijdformaat. Met dit formaat kan iedereen het datum- en tijdformaat begrijpen.

Vluchtig van aard:

Zoals je in het eerste voorbeeld kunt zien, hebben we het resultaat als 5:03:35 en in het tweede voorbeeld gaan we als resultaat 17:19:02. Dit toont dus aan dat de NU-functie een vluchtige functie is die elke seconde verandert.

Alternatief voor timerfunctie in VBA

Als alternatief voor VBA TIMER kunnen we de functie "VBA NOW" gebruiken om de totale tijd te berekenen die de macro nodig heeft om de taak te voltooien.

Gebruik de onderstaande code om de tijd te berekenen die uw code in beslag neemt.

C0de:

 Sub TotalDuration () Dim k As Date k = Now '' 'Voer hier uw code in' '' MsgBox "Totale tijd die de macro nodig heeft om de taak te voltooien is:" & _ Formaat ((Now - k), "UU: MM : SS ") Einde Sub 

Kopieer en plak uw code in het groen gekleurde gebied.

Voer de code uit door op de F5-toets te drukken of druk op de run-knop. Zodra de uitvoering is voltooid, krijgen we de tijd die de macro nodig heeft om het taakbericht in het berichtvenster te voltooien. Hieronder ziet u een voorbeeld van hetzelfde.

Op deze manier kunnen we de NU-functie op veel manieren gebruiken in VBA.

U kunt deze Excel VBA Now-functiesjabloon hier downloaden - VBA Now-functiesjabloon