Mostra l'ora in formato hh:mm.sss usando VBA

Anonim

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 temporali nella colonna E.

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 a tre cifre, abbiamo diviso i secondi nel valore temporale definito per 60 per ottenere una frazione per secondi definiti e quindi moltiplicato per mille per ottenere il numero a tre cifre.

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

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

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

Si prega di seguire sotto per il codice

 Opzione Funzione esplicita HHMMSSSFormat(DateTime As Date) As String 'La funzione restituirà il valore stringa 'Dichiarazione della variabile intera Dim SecondValue As Integer 'Estrazione dei secondi dal parametro DateTime SecondValue = Second(DateTime) 'Conversione del valore dei secondi in un numero a tre cifre SecondValue = (SecondValue / 60) * 1000 'Cambia la formattazione dell'ora nel formato richiesto HHMMSSSFormat = Format(Hour(DateTime), "00") & ":" & _ Format(Minute(DateTime), "00") & "." & Format(SecondValue, "000") End Function Sub GettingCurrentTimeinHHMMSSSFormat() 'Dichiarazione della variabile stringa Dim CurrentTime As String 'Chiamata della funzione personalizzata HHMMSSSFormat CurrentTime = HHMMSSSFormat(Now) 'Visualizzazione della finestra di messaggio solo con il pulsante Ok MsgBox CurrentTime, vbOKOnly, "Current Time " Fine Sotto 

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

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica