TEXTBOX QUE INFORMA IDADE

PABLOMOREIRAGV 16/07/2010 13:23:56
#347561
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.
JAMESBOND007 16/07/2010 13:51:14
#347565
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
PABLOMOREIRAGV 16/07/2010 14:08:10
#347566
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
JONATHANSTECKER 16/07/2010 14:28:08
#347568
Resposta escolhida
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!
PABLOMOREIRAGV 16/07/2010 15:37:42
#347575
Na hora de compilar tá dando [Ô]ERRO DE COMPILAÇÃO[Ô], [Ô] [ô]SUB ou FUNCTION[ô] NÃO DEFINIDAS[Ô]
JAMESBOND007 16/07/2010 15:49:11
#347578
cara vc ta copiando e colando e isso?
PABLOMOREIRAGV 16/07/2010 16:02:58
#347579
****** 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.
JAMESBOND007 16/07/2010 16:12:41
#347580
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
PABLOMOREIRAGV 16/07/2010 16:42:45
#347584
Meus Deus que dificuldade, estou tentando anexar o documento o formato do arquivo enviado não é aceito
JAMESBOND007 16/07/2010 16:51:26
#347587
upa em um site de upload http://www.4shared.com/ ou http://www.easy-share.com/ e coloque aqui
PABLOMOREIRAGV 16/07/2010 17:05:51
#347588
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

Página 1 de 3 [23 registro(s)]
Tópico encerrado , respostas não são mais permitidas