Home Excel - Dicas Microsoft Excel VBA Excel VBA - Datas Excel planiha vba data transforma formato texto data

Excel planiha vba data transforma formato texto data

E-mail Imprimir PDF

Saberexcel - o site das macros

Esse procedimento do Aplicativo Microsoft Excel VBA, inserido na folha de planilha e sensizilizado pelo Evento SelectionChange, ao selecionar
copia determinados números com caracteres inválidos para datas, e os transforma em datas válidas, com barras. 

'------------'
15%07&2012  - será transformado em  15/07/2012
17(07*2012    - será transformado em  15/07/2012
19.12.2012     - será transformado em  19/12/2012
25$07#2012   - será transformado em  25/07/2012
18!08*2012    - será transformado em  18/08/2012
26"12£2012    - será transformado em  26/12/2012
31%12§2012  - será transformado em  31/12/2012


Private  Sub Worksheet_SelectionChange
(ByVal Target As Range)
On Error Resume Next
Saber1.[A1].Value = ActiveCell.Offset(0, -2).Value
Data_Formato_dia_mes_ano
End Sub

'transformando um data formato texto (07.03.2012) no formato (07/03/2012)

Sub Data_Formato_dia_mes_ano()
 
Dim Ano As Integer, Mes As Integer, dia As Integer
 Ano = Right(Range("A1"), 4)
 Mes = Mid(Range("A1"), 4, 2)
 dia = Left(Range("A1"), 2)
 Range("A2") = DateSerial(Ano, Mes, dia)
End Sub

Escola Saberexcel VBA  Estudos -  Treinamentos, Macros, Fórmulas e funções http://www.microsoftexcel.com.br


Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel




  Baixe o exemplo de planilha contendo macros e procedimento acima:

 

Última atualização em Sex, 07 de Outubro de 2011 18:03  

Comentários   

 
Rodrigo Magalhães
# Rodrigo Magalhães 06-05-2014 11:23
Bom dia

Olá preciso de um código vba para uma célula especifica chamada (data) quero que ela só aceite datas, porém quero que as barras que separam dia,mês e ano sempre fiquem visíveis mesmo apagando os números as barras não sejam apagadas, isso é possível?

Fico grato e fico no aguardo...
Responder | Responder com citação | Citar
 
 
Expedito Mrcondes.
# Expedito Mrcondes. 06-05-2014 19:34
Prezado Rodrigo,
Rodrigo para determinar uma célula ou um intervalo de células para que aceite somente datas e ou um formato de datas segue a abaixo o procedimento, quanto ao apagar ficar mostrando as barras temos que desenvolver um procedimento para tal. mas segue o procedimento usando evento change excel vba.
vou lhe enviar a planilha via email. Fique com Deus,
Expedito Marcondes
'//==============='


Private Sub Worksheet_Chang e(ByVal Target As Excel.Range)
' procedimento para entrar Datas sem usar "/"
Dim DateStr As String
On Error GoTo EndMacro
If Intersect(Targe t, Range("A1:A10") ) Is Nothing Then Exit Sub
If Target.Cells.Co unt > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub

Application.Ena bleEvents = 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(DateS tr)
End If
End With
Application.Ena bleEvents = deusepaie
Exit Sub
EndMacro:
MsgBox "Digitou uma data inválida."
Range(Target.Ad dress).ClearCon tents
Application.Ena bleEvents = deusepaie
End Sub
Responder | Responder com citação | Citar
 

Adicionar comentário

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade." Albert Einstein


Código de segurança
Atualizar

PROMOÇÃO DIDÁTICOS SABEREXCEL



Adquira já o Acesso Imediato
à Area de Membros

Compra Grantida --- Entrega Imediata

Aprenda Excel VBA com Simplicidade de 
códigos e Eficácia, Escrevendo Menos e
Fazendo Mais.

'-------------------------------------'
Entrega Imediata:
+  500 Video Aulas MS Excel VBA
+  35.000 Planilhas Excel e VBA
+  Coleção 25.000 Macros MS Excel VBA
+  141 Planilhas Instruções Loops
+  341 Planilhas WorksheetFunctions(VBA)
+    04 Módulos Como Fazer Excel VBA
+  Curso Completo MS Excel VBA
+  Planilhas Inteligentes


Pesquisa Google SaberExcel

Publicidade Google

<script type="text/javascript"><!--

google_ad_client = "ca-pub-2317234650173689";

/* retangulo 336 x 280 */

google_ad_slot = "0315083363";

google_ad_width = 336;

google_ad_height = 280;

//-->

</script>

<script type="text/javascript"

src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

Publicidade

RSFirewallProtected


Google Associados

Depoimentos

Adicione Saberexcel Favoritos

 
 

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


   Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA