Pokaż czas w formacie gg:mm.sss za pomocą VBA

Anonim

W tym artykule stworzymy makro do formatowania czasu w formacie gg:mm.sss.

Surowe dane dla tego przykładu składają się z określonych wartości czasu w kolumnie E.

W tym artykule stworzyliśmy funkcję zdefiniowaną przez użytkownika (lub funkcję niestandardową) „HHMMSSSFormat”. Ta funkcja przyjmuje typ daty jako dane wejściowe i zwraca dane wyjściowe w postaci danych typu string w formacie gg:mm.sss.

Wyjaśnienie logiczne

W funkcji „HHMMSSSFormat”, aby zamienić 60 sekund na liczbę trzycyfrową, podzieliliśmy sekundy w określonej wartości czasu przez 60, aby uzyskać ułamek dla określonych sekund, a następnie pomnożyliśmy przez tysiąc, aby uzyskać liczbę trzycyfrową.

Funkcji „HHMMSSSFormat” można użyć, wywołując ją bezpośrednio w arkuszu Excela lub korzystając z funkcji wewnątrz innej procedury (lub makra).

Poniższy obrazek pokazuje, w jaki sposób użyliśmy funkcji „HHMMSSSFormat” w arkuszu Excela, aby uzyskać czas w formacie gg:mm.sss.

Stworzyliśmy również makro „GettingCurrentTimeinHHMMSSSFormat”, które wykorzystuje funkcję „HHMMSSSFormat” do wyświetlania aktualnego czasu w formacie gg:mm.sss w oknie wiadomości. Poniższy obrazek pokazuje dane wyjściowe, gdy uruchomimy to makro o godzinie 3:54:30.

Proszę postępować zgodnie z poniższym kodem!

 Opcja Explicit Function HHMMSSSFormat(DateTime As Date) As String 'funkcja zwróci wartość ciągu 'Deklarowanie zmiennej całkowitej Dim SecondValue As Integer 'Wyodrębnienie sekund z parametru DateTime SecondValue = Second(DateTime) 'Przekształcenie wartości sekund na liczbę trzycyfrową SecondValue = (SecondValue / 60) * 1000 'Zmień formatowanie czasu w wymaganym formacie HHMMSSSFormat = Format(Godzina(DateTime), "00") & ":" & _ Format(Minute(DateTime), "00") & "." & Format(SecondValue, "000") End Function Sub GettingCurrentTimeinHHMMSSSFormat() 'Deklarowanie zmiennej łańcuchowej Dim CurrentTime As String 'Wywołanie funkcji niestandardowej HHMMSSSFormat CurrentTime = HHMMSSSFormat(Now) 'Wyświetlanie okna komunikatu tylko z przyciskiem OK MsgBox CurrentTime, vbOKOnly, "Current Time " Napis końcowy 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail