Dados do Formatar VBA

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on April 5, 2023

Este tutorial irá demonstrar como formatar datas usando VBA.

Formatar Datas em VBA

Há dois métodos para formatar datas usando VBA.

  1. A propriedade NumberFormat de Cells / Ranges – Para formatar datas armazenadas nas células
  2. A função VBA Format  – Para formatar datas em VBA (ex. variáveis)

NumberFormat – Datas

O formato padrão do número de uma célula no Excel é Geral. É possível exibir valores como números, texto, datas, percentagens ou moedas, alterando o formato numérico. A propriedade NumberFormat pode ser usada em VBA para definir o formato numérico de datas numa célula ou intervalo.

Nota: Para ver os diferentes formatos de data padrão disponíveis no Excel vá a Página Inicial>Número e verá opções como Data Abreviada, Data Completa e Hora.

Data Abreviada

A opção de formatação de números de data abreviada exibe a data num formato curto e numérico.

O código seguinte irá definir a propriedade NumberFormat da célula A1 para Data Abreviada:

Range("A1").NumberFormat = "dd/mm/yyyy"

Data Completa

A formatação de números de datas completas exibe a data num formato escrito mais longo. O código seguinte irá definir a propriedade NumberFormat da célula A1 para Data Completa:

Range("A1").NumberFormat = "dddd, mmmm dd, yyyy"

Datas Personalizadas

Para ver os códigos de formato de números personalizados que você pode utilizar em VBA para formatar datas, vá a Página Inicial>Número e clique no Lançador da Caixa de Diálogo. Selecione a aba Número e escolha Personalizado.

Você pode selecionar os formatos personalizados incorporados para a sua data ou criar os seus próprios formatos de data definidos pelo usuário. O seguinte código definirá a propriedade .NumberFormat da célula A1 para um formato de data personalizado integrado:

Range("A1").NumberFormat = "mmm-yy"

O resultado é:

 

O código seguinte definirá a propriedade .NumberFormat da célula A1, para um formato de data personalizado definido pelo usuário:

Range("A1").NumberFormat = "dddd-dd-mmm-yy"

O resultado é:

Ao rever os exemplos pré-construídos do Excel você pode aprender como o NumberFormats deve ser utilizado. Para mais informações, leia a documentação da Microsoft sobre formatos numéricos para datas.

Função VBA Format

Como mencionado acima, o método NumberFormat é apropriado para definir o formato numérico das datas armazenadas em células Excel. Em VBA, você pode utilizar a Função Format para converter datas em strings com determinada formatação de datas.

Você utilizaria a seguinte sintaxe para formatar as datas:

Format(Representação_String, CódigoFormataçãoNúmero) onde:

Representação_String – a sequência de texto que representa a data.

CódigoFormataçãoNúmero – o código de formato numérico que especifica a forma como a data deve ser exibida.

O código seguinte mostra como formatar uma sequência de texto de uma data como formato de data completa:

MsgBox Format("1/1/2010", "dddd, mmmm dd, yyyy")

O resultado é:

Note que a função de formatação utiliza a mesma sintaxe de formatação de data que o NumberFormat acima.

O código seguinte mostra como formatar uma representação de sequência de texto de uma data como formato de data média:

MsgBox Format("09 Outubro 2012", "Medium Date")

O resultado é:

O código seguinte mostra como formatar uma sequência de texto de uma data em um formato definido pelo usuário:

MsgBox Format("09 Outubro 2012", "dddd: dd/mm/yy")

VBA Custom Format Builder

O nosso add-in VBA: AutoMacro contém um Construtor de Formatos Personalizado para o Editor de VBA. Isto permite-lhe definir formatos personalizados e pré-visualizar imediatamente a saída para o seu valor desejado:

vba custom number format

O suplemento VBA contém vários outros “Geradores de Código”, uma extensa biblioteca de códigos, e várias outras ferramentas de codificação. É o add-in definitivo para qualquer programador sério de VBA!

Função VBA Format no Access

A função VBA Format Date funciona exatamente da mesma forma em Access VBA e em Excel VBA.

Function ObterFiltroData() As String
'cria uma string para obter informação de 2 campos de data em um formulário no Access
   Dim strCampoData As String
   If IsNull(Me.txtSData) = False Then
      If IsNull(Me.txtEData) = True Then Me.txtEData = Me.txtSData
      If strCampoData2 = "" Then
        ObterFiltroData = strCampoData & " Entre #" & Format(Me.txtSData, "dd/mm/yyyy") & "# E # " & Format(Me.txtEData, "dd/mm/yyyy") & "#"
      End If
   End If
End Function
vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA