Как форматировать время в vba (с примерами)
Вы можете использовать функцию «Формат» в VBA со следующими аргументами для форматирования времени в Excel определенным образом:
- h : часы без нулей
- чч : часы с нулями
- n : минуты без нулей
- nn : минуты с нулями
- s : секунды без нулей
- сс : секунды с нулями
- 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 в определенном формате.
Обратите внимание, что вы также можете использовать форматы ярлыков Short Time , Medium Time и Long Time :
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: как применить условное форматирование к ячейкам