Data do formato VBA

Este tutorial demonstrará como formatar datas usando o VBA.

Formatar datas em VBA

Existem dois métodos para formatar datas usando o VBA.

  1. A propriedade NumberFormat de Cells / Ranges - Para formatar datas armazenadas em células
  2. A função de formato VBA - para formatar datas em VBA (ex. Variáveis)

NumberFormat - Datas

O formato de número padrão de uma célula no Excel é Geral. Você pode exibir valores como números, texto, datas, porcentagens ou moedas, alterando o formato do número. A propriedade NumberFormat pode ser usada no VBA para definir o formato de número de datas em uma célula ou intervalo.

Observação: Para ver os diferentes formatos de data padrão disponíveis no Excel, vá para Home> Número e você verá opções como Data Abreviada, Data Longa e Hora.


Encontro curto

A opção de formatação de número de data abreviada exibe a data em um formato numérico curto.

O código a seguir definirá a propriedade .NumberFormat da célula A1 como data abreviada:

1 Intervalo ("A1"). NumberFormat = "mm / dd / aaaa"

Data Longa

A formatação de número de data longa exibe a data em um formato escrito mais longo. O código a seguir definirá a propriedade .NumberFormat da célula A1 para data longa:

1 Intervalo ("A1"). NumberFormat = "dddd, mmmm dd, aaaa"

Datas personalizadas

Para ver os códigos de formato de número personalizados que você pode usar no VBA para formatar datas, vá para Página inicial> Número e clique no Iniciador da caixa de diálogo. Selecione a guia Número e escolha Personalizado.

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

1 Intervalo ("A1"). NumberFormat = "mmm-aa"

O resultado é:

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

1 Intervalo ("A1"). NumberFormat = "dddd-dd-mmm-aa"

O resultado é:

Ao revisar os exemplos pré-construídos do Excel, você pode aprender como os NumberFormats devem ser inseridos. Para obter mais informações, leia a documentação da Microsoft sobre formatos de números para datas.

Função de formato VBA

Conforme mencionado acima, o método NumberFormat é apropriado para definir o Numberformat de datas armazenadas em células do Excel. No VBA, você pode usar a função Format para converter datas em strings com determinada formatação de data.

Você usaria a seguinte sintaxe para formatar datas:

Format (String_Representation, NumberFormatCode) onde:

String_Representation - a string de texto que representa a data.

NumberFormatCode - o código de formato de número que especifica a maneira como a data deve ser exibida.

O código a seguir mostra como formatar uma representação de string de texto de uma data como formato de data longa:

1 Formato MsgBox ("01/01/2010", "dddd, mmmm dd, aaaa")

O resultado é:

Observe que a função Format usa a mesma sintaxe de formatação de data que o NumberFormat acima.

O código a seguir mostra como formatar uma representação de string de texto de uma data como formato de data médio:

1 Formato MsgBox ("09 de outubro de 2012", "Data média")

O resultado é:

O código a seguir mostra como formatar uma representação de string de texto de uma data como um formato definido pelo usuário:

1 Formato MsgBox ("09 de outubro de 2012", "dddd: dd / mm / aa")

Construtor de formato personalizado VBA

Nosso VBA Add-in: AutoMacro contém um Custom Format Builder para o VBA Editor. Isso permite que você defina formatos personalizados e visualize imediatamente a saída para o valor desejado:

O suplemento VBA contém vários outros “Geradores de código”, uma extensa biblioteca de códigos e uma variedade de outras ferramentas de codificação. É o complemento definitivo para qualquer pessoa interessada em programação VBA!

Data do formato VBA no Access

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

12345678910 Função GetDateFilter () As String'criar uma string para obter informações de 2 campos de data em um formulário no AccessDim strDateField As StringIf IsNull (Me.txtSDate) = False ThenIf IsNull (Me.txtEDate) = True Then Me.txtEDate = Me.txtSDateIf strDateField2 = "" EntãoGetDateFilter = strDateField & "Between #" & Format (Me.txtSDate, "mm / dd / yyyy") & "# And #" & Format (Me.txtEDate, "mm / dd / aaaa") & "#"Fim seFim seFunção Final

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave