VBA-tid - Sådan bruges Excel VBA-tidsfunktion? (Eksempler)

Indholdsfortegnelse:

Anonim

Excel VBA-tid

VBA TIME-funktion returnerer den aktuelle tid som output og kan også bruges som input til forskellige makrolinjer med kode. Denne funktion har ikke nogen parametre indstillet til den, og har således den enkleste syntaks som TID-ord med tomme parenteser, som kan ses som nedenfor:

Syntaks for VBA TIME-funktion:

Tid()

Faktisk er der ikke behov for parenteser, du kan simpelthen bruge selve ordet TID i din kodeblok, der giver dit system mulighed for at returnere det aktuelle tidspunkt. Vi har også en lignende funktion kaldet NU () under Excel VBA, der returnerer det aktuelle klokkeslæt sammen med datoen. I denne artikel vil imidlertid hele vores fokus være på at bruge TIME-funktionen og se på forskellige arbejdseksempler på det samme.

Sådan bruges Excel VBA-tidsfunktion?

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

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

VBA-tidsfunktion - eksempel # 1

Aktuel systemtid ved hjælp af TIME-funktion:

Følg nedenstående trin for at få vist det aktuelle tidspunkt for dit system.

Trin 1: Definer en underprocedure.

Kode:

 Sub TimeExample1 () End Sub 

Trin 2: Definer en variabel, som vil være nyttig til at indeholde tidsværdien for dig. Definer det som streng.

Kode:

 Sub TimeExample1 () Dim CurrentTime Som streng End Sub 

Bemærk: Årsagen bag at definere denne variabel som streng er, output fra TIME-funktionen er i en streng.

Trin 3: Brug VBA TIME-funktion til at tildele den aktuelle tid til den variabel, der er defineret i trinet ovenfor ved hjælp af en tildelingsoperatør.

Kode:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time End Sub 

Trin 4: Som jeg nævnte tidligere, er der ikke behov for at tilføje parenteser efter TIME-funktion, da dette er en flygtig funktion. Når det er sagt, vil følgende kode give den ækvivalente output i sammenligning med ovenstående kode.

Kode:

 Sub TimeExample1 () Dim CurrentTime Som streng CurrentTime = Time () End Sub 

Trin 5: Brug nu en MsgBox-funktion til at vise det aktuelle klokkeslæt ved hjælp af displaymeddelelsesfeltet.

Kode:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () MsgBox CurrentTime End Sub 

Trin 6: Kør denne kode ved at trykke på F5 eller Run-knappen og se output. Du skal få output som vist på billedet herunder.

Bemærk, at den tid, der reflekteres på billedet ovenfor, er det tidspunkt, hvorpå denne kode køres på systemet. Mens du prøver det selv, kan dit output variere afhængigt af den tid, du arbejder på denne kode.

VBA-tidsfunktion - eksempel # 2

VBA TIME i kombination med en Date-funktion for at returnere det aktuelle klokkeslæt med dagens dato:

Som det er blevet informeret tidligere i introduktionen af ​​denne artikel, er der en funktion kaldet NOW (), der giver dig den aktuelle dato samt tid i Microsoft Excel. Se skærmbilledet nedenfor.

Men i VBA har vi ikke denne funktion, der fungerer. Derfor skal vi i VBA bruge en kombination af VBA Date og VBA TIME funktioner for at få den aktuelle dato og det aktuelle klokkeslæt. VBA-dato giver en aktuel dato, og VBA-tid giver aktuel tid (som vi allerede har set i det første eksempel).

Lad os se trin for trin, hvordan vi kan opnå dette.

Trin 1: Indsæt et nyt modul i dit Excel VBA-script.

Trin 2: Definer en ny underprocedure ved at give et navn til makroen.

Kode:

 Subeksempel2 () Slut Sub 

Trin 3: Vi ønskede, at vores output skulle gemmes i celle A1 på vores excelark. Begynd for at skrive koden som nedenfor.

Kode:

 Undereksempel2 () Område ("A1"). Værdi = Slutund 

Trin 4: Brug nu en kombination af VBA DATE og VBA TIME-funktioner som vist nedenfor og tildel den værdi til celle A1.

Kode:

 Undereksempel2 () Område ("A1"). Værdi = Dato & "" & Tidslutt 

DATE-funktionen returnerer den aktuelle dato for systemet, og TIME-funktionen returnerer den aktuelle tid. Det hvide rum, der er indkapslet i dobbelt citater (““), giver mulighed for at have et mellemrum mellem dato og tid i den endelige output. To & (og) operatører fungerer som sammenkædede operatører, der sammenkæder DATE og TIME med plads i det.

Trin 5: Kør koden ved at trykke på F5 eller Run-knappen manuelt. Du vil se output i celle A1 på dit regneark som slag:

Her skal du igen bemærke, at den tid, der reflekteres i celle A1, er dato og tidspunkt, hvorpå denne kode køres af mig selv. Når du kører denne kode, er outputene derfor forskellige.

Vi kan også formatere dato- og tidsværdierne ved hjælp af NumberFormat-funktionen under VBA.

Trin 6: Skriv koden nævnt nedenfor i dit VBA-script.

Kode:

 Undereksempel2 () Område ("A1"). Værdi = Dato & "" & Tidsinterval ("A1"). AntalFormat = "dd-mmm-åååå: mm: ss AM / PM" Slut Sub 

Trin 7: Tryk på F5 eller Run-knappen manuelt, og du vil se output som nedenfor i celle A1 på dit regneark.

VBA-tidsfunktion - eksempel # 3

VBA TIME-funktion til at spore åbningstid og dato for en projektmappe:

Nogle gange er der et regneark, som vi åbner ofte (som medarbejderliste over en organisation) og foretager ændringer i det. Vi er måske interesseret i at vide den dato og det tidspunkt, hvor ændringerne er foretaget i regnearket. VBA Time-funktion kan bruges til at spore dato og klokkeslæt hver gang en arbejdsbog åbnes. Se trinnene nedenfor for at arbejde på det samme.

Trin 1: Opret et nyt regneark i din Excel-projektmappe og omdøb det efter din bekvemmelighed. Jeg vil omdøbe det til (Time_Track).

Trin 2: Dobbeltklik på ThisWorkbook under VBE (Visual Basics Editor).

Trin 3: Vælg Arbejdsbog i stedet for Generelt fra rullelisten med objekter.

Trin 4: Du ser en ny privat underprocedure, der bliver defineret under navnet Workbook_Open () i VBE.

Kode:

 Privat underarbejdsbog_Åbn () Slut sub 

Trin 5: Skriv nedenstående kode ned i denne makro-underprocedure som vist på billedet herunder:

Kode:

 Privat underarbejdsbog_Åbn () Dim LB så lang LB = Ark ("Time_Track"). Celler (Rækker.Tælling, 1). End (xlUp) .Row + 1 Sheets ("Time_Track"). Celler (LB, 1) .Value = Dato & "" & Tid () slutund 

Her defineres en variabel LB af typen Long for at finde ud af cellen ved siden af ​​sidst anvendte celle, hvor output kan gemmes. Derefter har vi ved hjælp af en kombination af VBA DATE og TIME-funktioner tildelt en værdi under den celle.

Trin 6: Kør koden ved at trykke på F5 eller Run-knappen manuelt og se output under kolonne A på et regneark.

Denne kode gemmer værdien af ​​dato og tid hver gang du åbner regnearket Time_Track.

Dette er det fra denne artikel. Lad os pakke tingene op ved at skrive nogle ting, vi skal huske.

Ting at huske

  • VBA TIME funktion lagrer output som en streng i Excel. Vi kan dog også gemme det som datoformat, mens vi definerer en variabel som dato i stedet for en streng.
  • TIME-funktion kræver ikke noget argument i den. Det er en flygtig funktion.
  • Selv det behøver ikke parenteser for at kalde funktionen. Kun TID er nok til at få den aktuelle tid.
  • TIME-funktion gemmer som standard tidsværdien i hh: mm: ss-format (24-timers urformat). Nogle gange afhænger outputformatet også af dit systemtidsformat.

Anbefalede artikler

Dette har været en guide til VBA-tidsfunktion. Her har vi drøftet, hvordan man bruger Excel VBA-tidsfunktioner, og vi lærte også kombinationen af ​​dato og tid som et alternativ til Nu () Funktion og sporer arbejdsbogens åbne poster sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Sådan oprettes Excel VBA MsgBox?
  2. WORKDAY Excel-funktion | Formel
  3. Vejledning til VBA gør mens sløjfe
  4. Indsæt dato i Excel