Jak sformatować czas w vba (z przykładami)


Możesz użyć funkcji Format w VBA z następującymi argumentami, aby sformatować godziny w Excelu w określony sposób:

  • h : godziny bez zer
  • gg : godziny z zerami
  • n : minuty bez zer
  • nn : minuty z zerami
  • s : sekundy bez zer
  • ss : sekundy z zerami
  • AM/PM : Wyświetlanie AM/PM

Poniższy przykład pokazuje, jak w praktyce formatować godziny przy użyciu VBA.

Przykład: formatowanie czasów przy użyciu języka VBA

Załóżmy, że w programie Excel mamy następującą kolumnę daty/godziny:

Możemy utworzyć następujące makro, aby sformatować czasy w kolumnie A i wyświetlić sformatowane czasy w kolumnach od B do E:

 SubFormatTime ()

Dim i As Integer

For i = 2 To 8
  Range(" B " & i) = Format(Range(" A " & i), " h ")
  Range(" C " & i) = Format(Range(" A " & i), " h:nn ")
  Range(" D " & i) = Format(Range(" A " & i), " h:nn:ss ")
  Range(" E " & i) = Format(Range(" A " & i), " h:nn:ss AM/PM ")
Next i

End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumny od B do E są teraz wyświetlane za każdym razem, gdy kolumna A jest sformatowana w określony sposób.

Pamiętaj, że możesz także użyć formatów skrótów Krótki czas , Średni czas i Długi czas :

 SubFormatTime ()

Dim i As Integer

For i = 2 To 8
  Range(" B " & i) = Format(Range(" A " & i), " Short Time ")
  Range(" C " & i) = Format(Range(" A " & i), " Medium Time ")
  Range(" D " & i) = Format(Range(" A " & i), " Long Time ")
Next i

End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumny od B do D są teraz wyświetlane za każdym razem w kolumnie A sformatowanej w określony sposób.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak używać mm/dd/rrrr jako formatu daty
VBA: Jak sformatować komórki jako procent
VBA: Jak zastosować formatowanie warunkowe do komórek

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *