Página 1 de 1

Converter data em forma de texto em data padrão Brasil

Enviado: Sáb Jan 16, 2016 8:13 am
por Alberto de Carvalho
Bom dia.

Eu tenho uma planilha de Excel no qual inseri uma Macro.
Eu copio de um programa e colo nesse meu gabarito.
Porem a copia vem como texto (Ex.: data - 01.02.2016), e quando eu rodo a macro, a data fica (02/01/2016) porque eu peço para Localizar e substituir o “.” Para “/”.
Como posso resolver isso? Estive vendo uns exemplos e não entendi.
Veja abaixo o Código:

Sub Substituir()
'
' Substituir Macro
' Substitui "." por "/" muda data e dia
'
' Atalho do teclado: Ctrl+q
'
ActiveSheet.Range("$A$1:$K$151").AutoFilter Field:=6, Criteria1:="<>"

Range("F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub


Tem outras tarefas que eu não coloquei para não ficar grande o texte.

Re: Converter data em forma de texto em data padrão Brasil

Enviado: Sáb Jan 16, 2016 10:07 am
por Reinaldo
O VBA por padrão "prefer" tratar datas pelo formato americano -> MM/DD/YYYY, assim ao efetuar a substituição e feita a conversão.
Uma possibilidade, sem o uso de macro é utilizar a função nativa Texto para Colunas, na guia Dados.
Selecione a Coluna F, va na guia dados -->Texto para Colunas --> Navege/Click em avanças 2x, na tela etapa 3, selecione o radio Button Data e no Combo selecione DMA, clique em concluir

Re: Converter data em forma de texto em data padrão Brasil

Enviado: Qua Jan 20, 2016 10:47 am
por Alberto de Carvalho
Muito obrigado Reinaldo.
Pelo passo a passo que você me passou, eu criei uma Macro e substitui o comando anterior.

Substitui: Range("F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Por:
Columns("F:F").Select
Selection.TextToColumns Destination:=Range("F1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True

Agora ficou redondinho.

Valeu!

Re: Converter data em forma de texto em data padrão Brasil

Enviado: Qua Jan 20, 2016 11:29 am
por Alberto de Carvalho
:D
Alberto de Carvalho escreveu:Muito obrigado Reinaldo.
Pelo passo a passo que você me passou, eu criei uma Macro e substitui o comando anterior.

Substitui: Range("F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Por:
Columns("F:F").Select
Selection.TextToColumns Destination:=Range("F1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True

Agora ficou redondinho.

Valeu!