Página 1 de 1
FORMATO DATA
Enviado: 31 Ago 2015 às 16:09
por Adrian
Boa tarde!
Gente em alguns sistemas corporativos, que trabalhei costumava digitar a data de nascimento dos clientes. Hoje continuo fazendo isso só que no Excel a diferença é q no sistema anterior quando começava a digitar a data por exemplo:
25/12/1981 simultaneamente os sistema já inserindo a barra divisória. Tem alguma macro que faça isso?
Grato
Adriano
Re: FORMATO DATA
Enviado: 31 Ago 2015 às 16:58
por alexandrevba
Boa tarde!!
Considerando que você está usando om controle de UserForm chamado text box.
Código: Selecionar todosPrivate Sub txtData_Change()
'Formata : dd/mm/aa
If Len(txtData) = 2 Or Len(txtData) = 5 Then
txtData.Text = txtData.Text & "/"
SendKeys "{End}", True
End If
End Sub
Re: FORMATO DATA
Enviado: 31 Ago 2015 às 19:28
por Adrian
Alexandre, esqueci de te falar da célula, quero que funcione na B18. Há mais não está funcionando porque será?
Grato Adriano
FORMATO DATA
Enviado: 01 Set 2015 às 08:12
por Adrian
Não estou usando UserForm
Re: FORMATO DATA
Enviado: 01 Set 2015 às 09:28
por Vidal
Bom dia, pessoal!
Tente isto:
para mim, funcionou...
Espero ter Ajudado.
Se a mensagem foi util
Favor Clicar na mãozinha.
Quando necessário, lembre se de marcar o tópico como
[RESOLVIDO].
Tenha um bom dia
FORMATO DATA
Enviado: 01 Set 2015 às 09:34
por Vidal
Aguarde um pouco antes de fechar o Tópico, pois estou desenvolvendo ainda uma outra maneira de resolver o problema que, creio eu, será ainda mais eficiente que esta que postei acima.. aguarde, por gentileza!
FORMATO DATA
Enviado: 01 Set 2015 às 09:51
por Adrian
Espero . ok
FORMATO DATA
Enviado: 01 Set 2015 às 09:52
por Vidal
Bom.. a idéia era usar uma fórmula que desenvolvi dentro da validação de células... ou na formatação condicional... a fórmula funciona, pois, considerando que.. se você digitar na célula G21 310815 ou 31082015 e em qualquer outra célula você inserir a fórmula:
=CONCATENAR(ESQUERDA(G21;2);"/";EXT.TEXTO(G21;3;2);"/";EXT.TEXTO(G21;5;SE(NÚM.CARACT(G21)=8;4;2)))
...você verá que funciona... mas, estou pecando em algum procedimento ao utilizar formatação condicional e/ou validação de células... acho que preciso tomar um pouco de café pra ativar os meus neurônios...
De qualquer forma.. aquela outra solução que postei antes também funcona... sendo assim:
Espero ter Ajudado.
Se a mensagem foi util Favor Clicar na mãozinha.
Quando necessário, lembre se de marcar o tópico como [RESOLVIDO].
Tenha um bom dia
Re: FORMATO DATA
Enviado: 01 Set 2015 às 10:07
por Vidal
Estou postando a planilha com a fórmula apenas como exemplo
Se a mensagem foi util Favor Clicar na mãozinha.
Quando necessário, lembre se de marcar o tópico como [RESOLVIDO].
Tenha um bom dia
FORMATO DATA
Enviado: 01 Set 2015 às 10:10
por Vidal
A célula em que vc vai digitar (no exemplo é H6) deve estar formatada como 'texto', caso contrário, se vc digitar uma data com '0' zero na frente o '0' zero vai sumir...
FORMATO DATA
Enviado: 01 Set 2015 às 10:24
por Adrian
Fui abrir o seu anexo e olha só o que aconteceu
Re: FORMATO DATA
Enviado: 01 Set 2015 às 10:29
por alexandrevba
Bom dia!!
Se você deseja o efeito na célula, então use o evento
Worksheet_Change.
Insira esse código dentro do módulo de guia
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Cell As Range
If Not Intersect(Target, ActiveSheet.Columns(1)) Is Nothing Then
For Each Cell In Intersect(Target, ActiveSheet.Columns(1))
If WorksheetFunction.IsNumber(Cell.Value) Then
Cell.Value = Format(Cell.Value, "00\/00\/00")
Cell.NumberFormat = "dd/mm/yyyy"
End If
Next Cell
End If
End Sub
Att
Re: FORMATO DATA
Enviado: 01 Set 2015 às 10:30
por Vidal
Ahhh... desculpe.. esqueci de salvar como formato à ser lido pelo Excel.. é que estou utilizandro o LibreOffice.
Envio agora o arquivo como (.xls), ok?!
FORMATO DATA
Enviado: 01 Set 2015 às 11:30
por Adrian
Vidal vou usar a fórmula. Quanto a você Alexandre a macro deu certo como faço para alterar essa macro só para uma célula por exemplo B18,
pq ali só consegui alterar a coluna tem como alterar uma célula?
Muito Grato,
Adriano
Re: FORMATO DATA
Enviado: 01 Set 2015 às 11:48
por alexandrevba
Bom dia!!
Não testado...
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Cell As Range
If Not Intersect(Target, Range("B18")) Is Nothing Then
For Each Cell In Intersect(Target, Range("B18"))
If WorksheetFunction.IsNumber(Cell.Value) Then
Cell.Value = Format(Cell.Value, "00\/00\/00")
Cell.NumberFormat = "dd/mm/yyyy"
End If
Next Cell
End If
End Sub
Att
Re: FORMATO DATA
Enviado: 01 Set 2015 às 12:26
por Adrian
Alexandre, digitar a data de nascimento do cliente é uma rotina. A macro funcionou mas observe um detalhe
segue anexo
Re: FORMATO DATA
Enviado: 01 Set 2015 às 13:18
por Sandman
boa tarde adrian, caso vc não precise utilizar os dados das datas para calculos e apenas seja para exibição vc pode utilizar o recurso formato personalizado tb, é só utilizar o seguinte código 00\/00\/0000
Re: FORMATO DATA
Enviado: 01 Set 2015 às 14:46
por Adrian
Sandman, Obrigado parceiro deu certo!
Obrigado a todos do fórum
Grato
Adriano