Як відформатувати час у vba (з прикладами)


Ви можете використовувати функцію Format у VBA з такими аргументами, щоб відформатувати час у Excel певним чином:

  • h : години без нулів
  • hh : години з нулями
  • n : хвилини без нулів
  • nn : хвилини з нулями
  • s : секунди без нулів
  • ss : секунди з нулями
  • AM/PM : відображення AM/PM

У наступному прикладі показано, як на практиці форматувати час за допомогою VBA.

Приклад: форматування часу за допомогою VBA

Припустімо, що в Excel є такий стовпець дати/часу:

Ми можемо створити наступний макрос, щоб спеціально відформатувати час у стовпці A та відобразити відформатований час у стовпцях B–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

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Стовпці B–E тепер кожного разу відображаються у стовпці A у певному форматі.

Зауважте, що ви також можете використовувати короткі формати швидкого доступу , середні та довгі :

 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

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Стовпці B–D тепер кожного разу відображаються у стовпці A у певному форматі.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: як використовувати дд/мм/рррр як формат дати
VBA: Як відформатувати комірки у відсотках
VBA: як застосувати умовне форматування до клітинок

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *