Procedimentos do Aplicativo MS Excel VBA, usando objetos textbox, no final da digitação dia, mes e ano, formata automaticamente o texto em uma outra textbox e também retorna o valor data para folha de planilha, no formato data(dd/mmm/aaaa). 1 - Userform 4 - Textbox 1 - CommandButton
Dim Dia As Integer Dim Mês As Integer Dim Ano As Integer
Private Sub CommandButton1_Click() Unload Me End Sub
Private Sub TextBox1_Change() On Error Resume Next If Len(TextBox1) = 2 Then Dia = TextBox1 TextBox2.SetFocus End If End Sub
Private Sub TextBox2_Change() On Error Resume Next If Len(TextBox2) = 2 Then Mês = TextBox2 TextBox3.SetFocus End If End Sub
Private Sub TextBox3_Change() On Error Resume Next If Len(TextBox3) = 4 Then Ano = TextBox3 Call Validando_data End If End Sub
Private Sub Validando_data() If Dia < 1 Or Dia > 31 Then MsgBox "Dia Inválido" TextBox1 = "" TextBox2 = "" TextBox3 = "" TextBox4 = "" TextBox1.SetFocus Exit Sub End If
If Mês < 1 Or Mês > 12 Then MsgBox "Mês Inválido" TextBox2 = "" TextBox3 = "" TextBox4 = "" TextBox2.SetFocus Exit Sub End If
If Ano < 1990 Or Ano > 2011 Then MsgBox "Mês Inválido" TextBox3 = "" TextBox4 = "" TextBox3.SetFocus Exit Sub End If
TextBox4 = Format(Dia, "00") & "/" & Format(Mês, "00") _ & "/" & Format(Ano, "0000") Sheets(1).Range("b5") = TextBox4
If IsError(Sheets(1).Range("B8")) Then MsgBox "Data Inválida" TextBox1 = "" TextBox2 = "" TextBox3 = "" TextBox4 = ""
Sheets(1).Range("B5").Value = Format(Now, "DD/MM/YYYY") TextBox1.SetFocus End If 'Frame1.Caption = "Data: " & TextBox1.Value & "/" & TextBox2.Value & "/" & TextBox3.Value 'ou Frame1.Caption = "Data Digitada: " & Format(Dia, "00") & "/" & Format(Mês, "00") _ & "/" & Format(Ano, "0000") End Sub
Aprenda tudo sobre o Aplicativo MS Excel VBA com SaberExcel
Baixe o exemplo de planilha contendo os procedimentos acima
Publicidade: Compre com Segurança, garantia e ótimos preços nas lojas submarino
|