Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Converter formato de data

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
lima.luiz
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 12, 2018 10:08 pm

Converter formato de data

Mensagem por lima.luiz »

Bom dia,

preciso de ajuda desse prestativo fórum.

Tenho uma textbox (Plan2.Range("b17") = txtDespacho.Text) que grava a data no formato: dd/mm/aaaa
porém, necessito que converta para o formato de exemplo: 17 DE ABRIL DE 2019

Alguém pode ajudar?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Converter formato de data

Mensagem por webmaster »

Você pode aplicar a formatação ou na planilha ou no código VBA. No caso, o formato é:

dd \d\e mmmm \d\e yyyy

Se for no VBA:

Código: Selecionar todos

Plan2.Range("B17") = Format(CDate(txtDespacho.Text), "dd \d\e mmmm \d\e yyyy")[\CODE]


lima.luiz
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 12, 2018 10:08 pm

Re: Converter formato de data

Mensagem por lima.luiz »

Obrigado, amigos. Funcionou!!! :D


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


andril
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Sáb Dez 28, 2019 5:23 am

Re: Converter formato de data

Mensagem por andril »

Consegui!

Segue fórmula, só colocar no conteúdo VBA da planilha e escolher o range que no meu caso é apenas a célula C5:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim DateStr As String
On Error GoTo EndMacro
If Intersect(Target, Range("C5")) Is Nothing Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub

Application.EnableEvents = False
With Target
If .HasFormula = False Then
Select Case Len(.Formula)
Case 4
DateStr = Left(.Formula, 1) & "/" & _
Mid(.Formula, 2, 1) & "/" & Right(.Formula, 2)
Case 5
DateStr = Left(.Formula, 1) & "/" & _
Mid(.Formula, 2, 2) & "/" & Right(.Formula, 2)
Case 6
DateStr = Left(.Formula, 2) & "/" & _
Mid(.Formula, 3, 2) & "/" & Right(.Formula, 2)
Case 7
DateStr = Left(.Formula, 1) & "/" & _
Mid(.Formula, 2, 2) & "/" & Right(.Formula, 4)
Case 8
DateStr = Left(.Formula, 2) & "/" & _
Mid(.Formula, 3, 2) & "/" & Right(.Formula, 4)
Case Else
Err.Raise 0
End Select
.Formula = DateValue(DateStr)
End If
End With
Application.EnableEvents = True
Exit Sub
EndMacro:
MsgBox "Insira: 1120 para 01/01/2020!"
Range(Target.Address).ClearContents
Application.EnableEvents = True
End Sub

Obrigado e até mais!


andril
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Sáb Dez 28, 2019 5:23 am

Re: Converter formato de data

Mensagem por andril »

Ops, respondi no tópico errado, rsrs.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder