este tutorial irá demonstrar como formatar datas usando VBA.
datas de formato em VBA
existem dois métodos para formatar datas usando VBA.
- a propriedade Number Format das células / intervalos-para formatar datas armazenadas em células
- a função de formato VBA – para formatar datas em VBA (ex. variáveis)
Number Format-Dates
The default number format of a cell in Excel is General. Você pode exibir valores como números, texto, datas, percentagens ou moedas, alterando o formato número. A propriedade Number Format pode ser usada em VBA para definir o formato Número de datas em uma célula ou intervalo.
Nota: para ver os diferentes formatos de data padrão disponíveis no Excel, vá para casa>número e verá opções como data curta, Data longa e hora.
Short Date
the Short date number formatting option displays the date in a short, num formato numérico.
o seguinte código irá definir o .Propriedade NumberFormat da célula A1 para data Abreviada:
1
|
Range(“A1”).NumberFormat = “mm / dd / AAAA”
|
long Date
Long date formatting number displays the date in a longer, written format. O seguinte código irá definir o .Propriedade NumberFormat da célula A1 para Longa data:
1
|
Range(“A1”).NumberFormat = “dddd, mmmm dd, aaaa”
|
datas Personalizadas
para ver o formato de número personalizado códigos que você pode usar em VBA para formatar datas, vá para a página Inicial>Número e clique no Iniciador da Caixa de Diálogo. Seleccione a página número e escolha personalizada.
you can either select the custom built-in formats for your date or create your own user-defined date formats. O seguinte código irá definir o .Propriedade do number format da célula A1 para um formato de data personalizado incorporado:
1
|
Range(“A1”).NumberFormat = “mmm-aa”
|
O resultado é:
O código a seguir irá definir .Propriedade NumberFormat da célula A1, para um personalizado definido pelo usuário no formato de data:
1
|
Range(“A1”).Número format = “dddd-DD-mmm-yy”
|
o resultado é:
ao rever os exemplos pré-construídos do Excel, poderá aprender como os formulários de números devem ser introduzidos. Para mais informações, leia a documentação da Microsoft em formatos de números para as datas.
função de formato VBA
como mencionado acima, o método NumberFormat é apropriado para definir o número de datas armazenadas em células Excel. Em VBA, você pode usar a função de formato para converter datas para strings com certa formatação de data.
usaria a seguinte sintaxe para formatar datas:
Format (String_Representation, NumberFormatCode) where:
String_Representation – the text string representing the date.
NumberFormatCode – o código do formato do número que especifica a forma como a data deve ser exibida.
o seguinte código mostra como formatar uma representação de texto de uma data como formato de data longa:
1
|
MsgBox (Formato de”1/1/2010″, “dddd, mmmm dd, aaaa”)
|
O resultado é:
Observe que o Formato da Função usa a mesma data de sintaxe de formatação como o NumberFormat acima.
o seguinte código mostra como formatar uma representação de texto de uma data como formato de data média:
1
|
MsgBox (Formato”09 de outubro de 2012″, “Data Médio”)
|
O resultado é:
O código a seguir mostra como formatar um texto, uma representação de seqüência de caracteres de uma data como um formato definido pelo usuário:
1
|
MsgBox (Formato”09 de outubro de 2012″, “dddd: dd/mm/aa”)
|
VBA Formato Personalizado Builder
Nossa VBA Add-in: AutoMacro contém um Formato Personalizado Builder para o Editor do VBA. Isso permite que você defina formatos personalizados e pré-visualizar imediatamente a saída para o valor desejado:
VBA Suplemento contém vários outros “Geradores de Código”, uma extensa biblioteca de código, e uma variedade de outras ferramentas de codificação. É o último add-in para qualquer pessoa séria sobre a programação VBA!
Data do formato VBA no Access
a função Data do formato VBA funciona exatamente o mesmo no Access VBA que no Excel VBA.
1
2
3
4
5
6
7
8
9
10
|
Função GetDateFilter() as String
‘criar uma seqüência de caracteres para obter informações a partir de 2 campos de data em um formulário no Access
Dim strDateField Como String
If IsNull(Me.txtSDate) = False Then
If IsNull(Me.Txtedate) = True Then Me.txtEDate = Me.Txtsdate
If strDateField2 = “”Then
GetDateFilter = strDateField & “Between #” & Format (Me.txtSDate, “mm / dd / AAAA”) & “# and # ” & Format (Me.txtedato, “mm / dd / AAAA”) & “#”
fim se
fim se
função Final
|