A função `FormatDateTime` em VBA é usada para formatar valores de data/hora em uma representação de string de acordo com o formato especificado. Aqui está uma explicação de como usá-la:
Sintaxe
FormatDateTime(Date, [NamedFormat])
- Date: Obrigatório. É a expressão de data ou hora que você deseja formatar.
- NamedFormat: Opcional. Um valor que indica o formato desejado. Pode ser um dos seguintes:
- `vbGeneralDate`: Exibe a data e/ou hora. Se houver um componente de data somente, a hora não é exibida. Se houver um componente de hora somente, a data não é exibida.
- `vbLongDate`: Exibe a data utilizando o formato de data longo especificado nas configurações regionais do Windows.
- `vbShortDate`: Exibe a data utilizando o formato de data curto especificado nas configurações regionais do Windows.
- `vbLongTime`: Exibe a hora utilizando o formato de hora longo especificado nas configurações regionais do Windows.
- `vbShortTime`: Exibe a hora utilizando o formato de 24 horas (hh:mm).
Exemplos de Uso
Sub FormatDateTimeExample()
Dim myDate As Date
myDate = #10/25/2023 3:00:00 PM#
' Geral (data e/ou hora)
Debug.Print FormatDateTime(myDate, vbGeneralDate) ' Output: 25/10/2023 15:00
' Data longa
Debug.Print FormatDateTime(myDate, vbLongDate) ' Output: quarta-feira, 25 de outubro de 2023
' Data curta
Debug.Print FormatDateTime(myDate, vbShortDate) ' Output: 25/10/2023
' Hora longa
Debug.Print FormatDateTime(myDate, vbLongTime) ' Output: 15:00:00
' Hora curta
Debug.Print FormatDateTime(myDate, vbShortTime) ' Output: 15:00
End Sub
Notas
- Os formatos específicos de `vbLongDate`, `vbShortDate`, `vbLongTime`, e `vbShortTime` dependem das configurações regionais do sistema no qual o VBA está sendo executado.
- A função pode ser usada tanto em macros do Excel quanto em outros ambientes que suportem VBA, como o Access e o Word.
Ao utilizar `FormatDateTime`, escolha o formato que melhor se adapta à sua necessidade específica de apresentação de data/hora, e considere que os formatos regionais podem influenciar a apresentação final.