In dit artikel zullen we een macro maken om de tijd op te maken in het formaat uu:mm.sss.
Ruwe gegevens voor dit voorbeeld bestaan uit bepaalde tijdwaarden in kolom E.
In dit artikel hebben we een door de gebruiker gedefinieerde functie (of aangepaste functie) "HHMMSSSFormat" gemaakt. Deze functie neemt het datumtype als invoer en retourneert de uitvoer in het gegevenstype string in de indeling uu:mm.sss.
Logische uitleg
In de functie "HHMMSSSFormat" om 60 seconden om te zetten in een getal van drie cijfers, hebben we seconden in de gedefinieerde tijdwaarde gedeeld door 60 om een breuk voor gedefinieerde seconden te krijgen en deze vervolgens met duizend vermenigvuldigd om het driecijferige nummer te krijgen.
De functie "HHMMSSSFormat" kan worden gebruikt door rechtstreeks in het Excel-blad aan te roepen of door de functie in de andere procedure (of macro) te gebruiken.
De afbeelding hieronder laat zien hoe we de functie "HHMMSSSFormat" in het Excel-blad hebben gebruikt om de tijd in uu:mm.sss-indeling af te leiden.
We hebben ook een macro "GettingCurrentTimeinHHMMSSSFormat" gemaakt die de functie "HHMMSSSFormat" gebruikt om de huidige tijd in uu:mm.sss-indeling in een berichtvenster weer te geven. De onderstaande afbeelding toont de uitvoer wanneer we deze macro uitvoeren om 3:54:30s.
Volg hieronder voor de code:
Optie Expliciete functie HHMMSSSFormat(DateTime As Date) As String 'functie retourneert stringwaarde 'Declaring integer variable Dim SecondValue As Integer 'Seconden extraheren uit DateTime parameter SecondValue = Second(DateTime) 'Converteren van secondenwaarde naar driecijferig getal SecondValue = (SecondValue / 60) * 1000 'Wijzig de opmaak van tijd in het vereiste formaat HHMMSSSFormat = Format(Hour(DateTime), "00") & ":" & _ Format(Minute(DateTime), "00") & "." & Format(SecondValue, "000") End Function Sub GettingCurrentTimeinHHMMSSSFormat() 'Tekenreeksvariabele Dim CurrentTime As String declareren 'Aanroep van aangepaste functie HHMMSSSFormat CurrentTime = HHMMSSSFormat(Now) 'Berichtvenster weergeven met alleen de OK-knop MsgBox CurrentTime, vbOKOnly, "Current Time " Einde sub
Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.
We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite