In questo articolo creeremo una macro per formattare l’ora nel formato hh: mm.sss.

I dati grezzi per questo esempio sono costituiti da determinati valori di tempo nella colonna E.

ArrowSampleData

In questo articolo, abbiamo creato una funzione definita dall’utente (o funzione personalizzata) “HHMMSSSFormat”. Questa funzione accetta il tipo di data come input e restituisce l’output nel tipo di dati stringa nel formato hh: mm.sss.

Spiegazione logica

Nella funzione “HHMMSSSFormat” per convertire 60 secondi in un numero di tre cifre, abbiamo diviso i secondi nel valore di tempo definito per 60 per ottenere la frazione per secondi definiti e quindi moltiplicato per migliaia per ottenere il numero di tre cifre.

La funzione “HHMMSSSFormat” può essere utilizzata chiamando direttamente nel foglio Excel o utilizzando la funzione all’interno dell’altra procedura (o macro).

L’immagine sotto mostra come abbiamo utilizzato la funzione “HHMMSSSFormat” nel foglio Excel per ricavare l’ora nel formato hh: mm.sss.

ArrowCustomFunction

Abbiamo anche creato una macro “GettingCurrentTimeinHHMMSSSFormat” che utilizza la funzione “HHMMSSSFormat” per visualizzare l’ora corrente nel formato hh: mm.sss in una finestra di messaggio. L’immagine sotto mostra l’output quando eseguiamo questa macro a 3: 54: 30s.

ArrowMacroOutput

Segui sotto per il codice

Option Explicit

Function HHMMSSSFormat(DateTime As Date) As String

'function will return string value

'Declaring integer variable

Dim SecondValue As Integer

'Extracting seconds from DateTime parameter

SecondValue = Second(DateTime)

'Converting seconds value to three digit number

SecondValue = (SecondValue / 60) * 1000

'Change the formatting of time in the required format

HHMMSSSFormat = Format(Hour(DateTime), "00") & ":" & _

Format(Minute(DateTime), "00") & "." & Format(SecondValue, "000")



End Function

Sub GettingCurrentTimeinHHMMSSSFormat()

'Declaring string variable

Dim CurrentTime As String

'Calling custom function HHMMSSSFormat

CurrentTime = HHMMSSSFormat(Now)

'Displaying message box with Ok button only

MsgBox CurrentTime, vbOKOnly, "Current Time"

End Sub

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]