Excel VBA-tijd
De functie VBA-TIJD retourneert de huidige tijd als uitvoer en kan ook worden gebruikt als invoer voor verschillende macrolijnen met code. Deze functie heeft geen parameter ingesteld en heeft dus verreweg de eenvoudigste syntaxis als TIJDwoord met lege haakjes, zoals hieronder te zien:
De syntaxis voor VBA TIME-functie:
Tijd()
Er is zelfs geen haakje nodig, u kunt gewoon het woord TIJD zelf gebruiken in uw codeblok waarmee uw systeem de huidige tijd kan retourneren. We hebben ook een vergelijkbare functie genaamd NOW () onder Excel VBA die de huidige tijd samen met de datum retourneert. In dit artikel zou onze volledige focus echter liggen op het gebruik van de TIJD-functie en het bekijken van verschillende werkende voorbeelden van hetzelfde.
Hoe Excel VBA-tijdfunctie te gebruiken?
We zullen leren hoe een VBA-tijdfunctie te gebruiken met enkele voorbeelden in Excel.
U kunt deze VBA Time Excel Template hier downloaden - VBA Time Excel TemplateVBA-tijdfunctie - Voorbeeld # 1
Huidige systeemtijd met de functie TIJD:
Volg de onderstaande stappen om de huidige tijd van uw systeem weer te geven.
Stap 1: Definieer een subprocedure.
Code:
Sub TimeExample1 () End Sub
Stap 2: Definieer een variabele die nuttig kan zijn om de waarde van tijd voor u vast te houden. Definieer het als String.
Code:
Sub TimeExample1 () Dim CurrentTime As String End Sub
Opmerking: de reden achter het definiëren van deze variabele als String is dat de uitvoer van de functie TIME in een string gebeurt.
Stap 3: Gebruik de functie VBA-TIJD om de huidige tijd toe te wijzen aan de variabele die in de bovenstaande stap is gedefinieerd met behulp van een toewijzingsoperator.
Code:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time End Sub
Stap 4: Zoals ik al eerder zei, is het niet nodig om haakjes toe te voegen na de TIME-functie, omdat dit een vluchtige functie is. Dat gezegd hebbende, geeft de volgende code de equivalente uitvoer in vergelijking met de bovenstaande code.
Code:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () End Sub
Stap 5: Gebruik nu een MsgBox-functie om de huidige tijd weer te geven met behulp van het berichtenvenster.
Code:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () MsgBox CurrentTime End Sub
Stap 6: Voer deze code uit door op F5 of de knop Run te drukken en de uitvoer te bekijken. U moet de uitvoer krijgen zoals weergegeven in de onderstaande afbeelding.
Houd er rekening mee dat de tijd die in de bovenstaande afbeelding wordt weergegeven, de tijd is waarop deze code op het systeem wordt uitgevoerd. Als je het zelf probeert, kan je uitvoer variëren, afhankelijk van de tijd dat je aan deze code werkt.
VBA-tijdfunctie - Voorbeeld # 2
VBA-TIJD in combinatie met een datumfunctie om de huidige tijd te retourneren met de datum van vandaag:
Zoals het eerder in de inleiding van dit artikel is geïnformeerd, is er een functie genaamd NU () die u zowel de huidige datum als de tijd in Microsoft Excel geeft. Zie onderstaande screenshot.
In VBA hebben we deze functie echter niet. Daarom moeten we in VBA een combinatie van VBA Date- en VBA TIME-functies gebruiken om de huidige datum en huidige tijd te krijgen. VBA-datum geeft een huidige datum en VBA-tijd geeft de huidige tijd (die we al in het eerste voorbeeld hebben gezien).
Laten we stap voor stap zien hoe we dit kunnen bereiken.
Stap 1: Voeg een nieuwe module in uw Excel VBA-script in.
Stap 2: Definieer een nieuwe subprocedure door de macro een naam te geven.
Code:
Sub Voorbeeld 2 () Einde Sub
Stap 3: We wilden dat onze uitvoer werd opgeslagen in cel A1 van ons Excel-blad. Begin daarvoor met het schrijven van de code zoals hieronder.
Code:
Sub Voorbeeld 2 () Bereik ("A1") Waarde = Einde Sub
Stap 4: Gebruik nu een combinatie van VBA DATUM en VBA TIJD-functies zoals hieronder getoond en wijs de waarde toe aan cel A1.
Code:
Sub Voorbeeld 2 () Bereik ("A1"). Waarde = Datum & "" & Tijd Einde Sub
De functie DATUM retourneert de huidige systeemdatum en de functie TIJD retourneert de huidige tijd. De witte ruimte tussen dubbele aanhalingstekens (““) maakt het mogelijk een spatie tussen datum en tijd in de uiteindelijke uitvoer te hebben. Twee & (en) operatoren werken als aaneengeschakelde operatoren die DATE en TIME samenvoegen met ruimte erin.
Stap 5: Voer de code uit door handmatig op F5 of op de knop Uitvoeren te drukken. U ziet de uitvoer in cel A1 van uw werkblad als blazen:
Houd er nogmaals rekening mee dat de tijd in cel A1 de datum en tijd is waarop deze code door mijzelf wordt uitgevoerd. Daarom zullen de uitgangen verschillen wanneer u deze code uitvoert.
We kunnen ook de datum- en tijdwaarden opmaken met de functie NumberFormat onder VBA.
Stap 6: Schrijf de onderstaande code in uw VBA-script.
Code:
Sub Voorbeeld 2 () Bereik ("A1"). Waarde = Datum & "" & Tijdbereik ("A1"). NumberFormat = "dd-mmm-jjjj hh: mm: ss AM / PM" End Sub
Stap 7: Druk handmatig op F5 of op de knop Uitvoeren en u ziet de uitvoer zoals hieronder in cel A1 van uw werkblad.
VBA-tijdfunctie - Voorbeeld # 3
VBA TIME-functie om de openingstijd en -datum van een werkboek te volgen:
Soms is er een spreadsheet die we vaak openen (zoals de werknemerslijst van een organisatie) en daar wijzigingen in aanbrengen. Mogelijk zijn we geïnteresseerd in de datum en tijd waarop de wijzigingen zijn aangebracht in het werkblad. De VBA-tijdfunctie kan worden gebruikt om de datum en tijd bij te houden telkens wanneer een werkmap wordt geopend. Zie de onderstaande stappen om aan hetzelfde te werken.
Stap 1: Maak een nieuw werkblad in uw Excel-werkmap en hernoem het naar uw gemak. Ik zal het hernoemen als (Time_Track).
Stap 2: Dubbelklik op ThisWorkbook onder VBE (Visual Basics Editor).
Stap 3: Selecteer vanuit de vervolgkeuzelijst Object in plaats van Algemeen.
Stap 4: U ziet dat een nieuwe privé-subprocedure wordt gedefinieerd onder de naam Workbook_Open () in VBE.
Code:
Private Sub Workbook_Open () End Sub
Stap 5: Noteer de onderstaande code in deze macro-subprocedure zoals weergegeven in de onderstaande afbeelding:
Code:
Private Sub Workbook_Open () Dim LB zo lang LB = Sheets ("Time_Track"). Cellen (Rows.Count, 1). End (xlUp). Row + 1 Sheets ("Time_Track"). Cells (LB, 1) .Value = Datum & "" & Tijd () Einde Sub
Hier wordt een variabele LB van het type Long gedefinieerd om de cel te vinden naast de laatst gebruikte cel waar de uitvoer kan worden opgeslagen. Vervolgens hebben we met behulp van een combinatie van VBA DATUM- en TIJD-functies een waarde onder die cel toegewezen.
Stap 6: Voer de code uit door handmatig op F5 of op de knop Uitvoeren te drukken en bekijk de uitvoer onder kolom A van een werkblad.
Deze code slaat de waarde van Datum en tijd op telkens wanneer u het werkblad Time_Track opent.
Dit is het uit dit artikel. Laten we de dingen afronden door een paar dingen te schrijven om te onthouden.
Dingen om te onthouden
- De functie VBA TIME slaat de uitvoer op als een string in excel. We kunnen het echter ook opslaan als datumnotatie terwijl we een variabele definiëren als datum in plaats van een string.
- De functie TIJD heeft geen argument nodig. Het is een vluchtige functie.
- Zelfs het heeft geen haakjes nodig om de functie aan te roepen. Alleen TIJD is voldoende om de huidige tijd te krijgen.
- De functie TIJD slaat standaard de tijdwaarde op in het formaat hh: mm: ss (24-uurs klokformaat). Soms is het uitvoerformaat echter ook afhankelijk van uw systeemtijdformaat.
Aanbevolen artikelen
Dit is een handleiding voor de VBA-tijdfunctie geweest. Hier hebben we besproken hoe u Excel VBA-tijdfuncties kunt gebruiken en ook hebben we de combinatie van datum en tijd als alternatief voor de functie Now () geleerd en de open records van de werkmap bijgehouden, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -
- Hoe Excel VBA MsgBox maken?
- WERKDAG Excel-functie | Formule
- Handleiding voor VBA Do While Loop
- Datum invoegen in Excel