TEXTBOX QUE INFORMA IDADE
Tenho dois texbox inseridos em um planilha um com com o campo data de nascimento e outro com o campo idade. A pergunta é. Tem como, assim que eu inserir a data no campo data de nascimeno, ele já me informar automaticamente a idade da pessoa levando em conta tudo, anos bissextos e meses de 28 e 29 dias? Sem ter que clicar nenhum botão para mandar calcular? Desde já agradeço aos amigos.
veja como exemplo este daqui talves possa te ajudar
Private Function CalcularIdade(ByVal DataInicial As String, ByVal DataFinal As String) As Integer
CalcularIdade = 0
If Not IsDate(DataInicial) Or Not IsDate(DataFinal) Then Exit Function
Dim x As Long, y As Long
[ô]Verificar quantos anos bissextos tem no intervalo
For x = Year(DataInicial) + 1 To Year(DataFinal) - 1
If (x Mod 4 = 0) Then y = y + 1
Next
CalcularIdade = (DateDiff([Ô]d[Ô], DataInicial, DataFinal) - y) \ 365
End Function
Private Sub Command1_Click()
MsgBox [Ô]Idade: [Ô] & CalcularIdade(Text1.Text, Text2.Text) & [Ô] anos[Ô]
End Sub
Este mostra a idade com uma mensagem, mas o que eu quero é o seguinte. Pessoa vai inserir a data de nascimento no textbox1 e aparecerá a idade no textbox2 automaticamente. Estou usando isso em uma planilha de ficha de cadastro de empregados. Obrigado
Pablo, agora é só você aplicar a função do James no seu código...
Private Sub TextBox1_LostFocus()
TextBox2.Text = [Ô]Idade: [Ô] & CalcularIdade(CDate(TextBox1.Text), CDate([Ô]17/07/2010[Ô])) & [Ô] anos[Ô]
End Sub
Private Function CalcularIdade(ByVal DataInicial As String, ByVal DataFinal As String) As Integer
CalcularIdade = 0
If Not IsDate(DataInicial) Or Not IsDate(DataFinal) Then Exit Function
Dim x As Long, y As Long
[ô]Verificar quantos anos bissextos tem no intervalo
For x = Year(DataInicial) + 1 To Year(DataFinal) - 1
If (x Mod 4 = 0) Then y = y + 1
Next
CalcularIdade = (DateDiff([Ô]d[Ô], DataInicial, DataFinal) - y) \ 365
End Function
Se a resposta resolveu o seu problema, encerre o pontue quem lhe ajudou!
Private Sub TextBox1_LostFocus()
TextBox2.Text = [Ô]Idade: [Ô] & CalcularIdade(CDate(TextBox1.Text), CDate([Ô]17/07/2010[Ô])) & [Ô] anos[Ô]
End Sub
Private Function CalcularIdade(ByVal DataInicial As String, ByVal DataFinal As String) As Integer
CalcularIdade = 0
If Not IsDate(DataInicial) Or Not IsDate(DataFinal) Then Exit Function
Dim x As Long, y As Long
[ô]Verificar quantos anos bissextos tem no intervalo
For x = Year(DataInicial) + 1 To Year(DataFinal) - 1
If (x Mod 4 = 0) Then y = y + 1
Next
CalcularIdade = (DateDiff([Ô]d[Ô], DataInicial, DataFinal) - y) \ 365
End Function
Se a resposta resolveu o seu problema, encerre o pontue quem lhe ajudou!
Na hora de compilar tá dando [Ô]ERRO DE COMPILAÇÃO[Ô], [Ô] [ô]SUB ou FUNCTION[ô] NÃO DEFINIDAS[Ô]
cara vc ta copiando e colando e isso?
****** Sim estou colocado este código abaixo em um módulo
Private Function CalcularIdade(ByVal DataInicial As String, ByVal DataFinal As String) As Integer
CalcularIdade = 0
If Not IsDate(DataInicial) Or Not IsDate(DataFinal) Then Exit Function
Dim x As Long, y As Long
[ô]Verificar quantos anos bissextos tem no intervalo
For x = Year(DataInicial) + 1 To Year(DataFinal) - 1
If (x Mod 4 = 0) Then y = y + 1
Next
CalcularIdade = (DateDiff([Ô]d[Ô], DataInicial, DataFinal) - y) \ 365
End Function
****** esse outro código abaixo eu coloquei o text. data de nascimento, adaptando o nome dos text[ô]s
Private Sub TextBox1_LostFocus()
TextBox2.Text = [Ô]Idade: [Ô] & CalcularIdade(CDate(TextBox1.Text), CDate([Ô]17/07/2010[Ô])) & [Ô] anos[Ô]
End Sub
***** Sou pricipiante no VBA sei que to fazendo besteira, mas não sei o qual.
Private Function CalcularIdade(ByVal DataInicial As String, ByVal DataFinal As String) As Integer
CalcularIdade = 0
If Not IsDate(DataInicial) Or Not IsDate(DataFinal) Then Exit Function
Dim x As Long, y As Long
[ô]Verificar quantos anos bissextos tem no intervalo
For x = Year(DataInicial) + 1 To Year(DataFinal) - 1
If (x Mod 4 = 0) Then y = y + 1
Next
CalcularIdade = (DateDiff([Ô]d[Ô], DataInicial, DataFinal) - y) \ 365
End Function
****** esse outro código abaixo eu coloquei o text. data de nascimento, adaptando o nome dos text[ô]s
Private Sub TextBox1_LostFocus()
TextBox2.Text = [Ô]Idade: [Ô] & CalcularIdade(CDate(TextBox1.Text), CDate([Ô]17/07/2010[Ô])) & [Ô] anos[Ô]
End Sub
***** Sou pricipiante no VBA sei que to fazendo besteira, mas não sei o qual.
vc tem que por os mesmo campos que vc usa no seu projeto amigo. aqui eu te passei um exemplo que serve pra ajuda, não o que e pra vc colocar no seu projeto, agora se vc postalo aqui em anexo o pessoal pode ajudar vc. entendeu por isso que não da certo, essa linha e de um projeto meu com outras propiedades. mas poste ai em anexo seu projeto que eu tento arruma pra vc
Meus Deus que dificuldade, estou tentando anexar o documento o formato do arquivo enviado não é aceito
upa em um site de upload http://www.4shared.com/ ou http://www.easy-share.com/ e coloque aqui
Taà o link para o documento. Postei outros tópicos sobre validação de campos CPF, PIS/PASEP, tÃtulo de eleitor. E outro sobre option buttons que não está marcando em grupos. Se você quiser e puder resolver estes outros problemas eu agradeço muito. Obrigado!
http://www.4shared.com/document/Gy3em0k-/Ficha_de_Recrutamento.html
http://www.4shared.com/document/Gy3em0k-/Ficha_de_Recrutamento.html
Tópico encerrado , respostas não são mais permitidas