Posted by :
Jason
lunes, 5 de diciembre de 2016
Esta vez Trabajaremos en Excel ya sea 2007-2010-2013 realizaremos un código de registro en el cual llenaremos las celdas al llenar los campos del registro y nos calculara automáticamente la edad.
1.- llenar los campos de Nombres, Apellidos, Cédula, Fecha de Nacimiento, Edad( La edad sera calculada automáticamente al momento de pasar los datos ingresados al campo de las celdas.
2.- Informar al usuario si desea guardar los datos.
3.- una ves confirmado el guardar informar si el año es bisiesto o no.
Código enVisual Basic (Excel )
Private Sub CommandButton1_Click()
Dim NOMBRE, APELLIDO, CEDULA, FECHA_NACIMIENTO As String
Dim REGISTRO As Double
Dim FECHA As Date, EDAD, I, J As Integer
Dim MES, DIA, ANIO As String
Dim bEscribe1, bEscribir2 As Boolean
'Inicializamos las variables para revisar la fila vacias
I = 1
J = 2
bEscribe1 = False
bEscribe2 = False
'mid substrae una subcadena de una cadena
NOMBRE = TextBox1.Value
APELLIDO = TextBox2.Value
CEDULA = TextBox3.Value
FECHA_NACIMIENTO = TextBox4.Value
MES = Mid(FECHA_NACIMIENTO, 4, 2)
DIA = Mid(FECHA_NACIMIENTO, 1, 2)
ANIO = Mid(FECHA_NACIMIENTO, 7, 4)
'trim buscar espacio en blanco para colocarlos en un orden
Do While bEscribe1 = False
If Trim(Hoja1.Cells(I, 1)) = "" And Trim(Hoja1.Cells(I, 2)) = "" And Trim(Hoja1.Cells(I, 3)) = "" And Trim(Hoja1.Cells(I, 4)) = "" And Trim(Hoja1.Cells(I, 5)) = "" Then
bEscribe1 = True
Else
I = I + 1
End If
Loop
Do While bEscribe2 = False
If Trim(Hoja2.Cells(J, 1)) = "" And Trim(Hoja2.Cells(J, 2)) = "" And Trim(Hoja2.Cells(J, 3)) = "" And Trim(Hoja2.Cells(J, 4)) = "" And Trim(Hoja2.Cells(J, 5)) = "" Then
bEscribe2 = True
Else
J = J + 1
End If
Loop
'len mide una cadena
If Len(FECHA_NACIMIENTO) = 10 Then
If MES >= 1 And MES <= 12 And DIA >= 1 And DIA <= 31 And ANIO >= 1 And ANIO <= Year(Date) Then
FECHA = CDate(TextBox4)
EDAD = CInt((Date - FECHA) / 365)
a = MsgBox("CONFIRMAR GUARDAR DATOS", vbOKCancel, "AVISO")
If a = 1 Then
If MES = 12 Then
Hoja2.Cells(J, 1) = NOMBRE
Hoja2.Cells(J, 2) = APELLIDO
Hoja2.Cells(J, 3) = CEDULA
Hoja2.Cells(J, 4) = FECHA_NACIMIENTO
Hoja2.Cells(J, 5) = EDAD
Else
Hoja1.Cells(I, 1) = NOMBRE
Hoja1.Cells(I, 2) = APELLIDO
Hoja1.Cells(I, 3) = CEDULA
Hoja1.Cells(I, 4) = FECHA_NACIMIENTO
Hoja1.Cells(I, 5) = EDAD
End If
'calculo del año
TextBox4.Text = Year(TextBox4.Text)
año = TextBox4.Text
If año Mod 100 = 0 Then
Bisiesto = (año Mod 400 = 0)
Else
Bisiesto = (año Mod 4 = 0)
End If
If Bisiesto = True Then
MsgBox ("AÑO ES BISIESTO")
Else
MsgBox ("AÑO NO ES BISIESTO")
End If
TextBox1.Text = Empty
TextBox2.Text = Empty
TextBox3.Text = Empty
TextBox4.Text = Empty
TextBox1.SetFocus
Else
MsgBox ("GRACIAS, LA INFORMACION NO SE GUARDO")
End If
Else
MsgBox ("ERROR, EN LA FECHA INGRESADA")
End If
Else
MsgBox ("ERROR EL FORMATO DE LA FECHA DEBE SER DD/MM/AAAA")
End If
End Sub
Private Sub CommandButton2_Click()
a = MsgBox("DESEA SALIR?", vbOKCancel, "AVISO")
If a = 1 Then
End
End If
End Sub
Private Sub CommandButton3_Click()
TextBox1.Text = Empty
TextBox2.Text = Empty
TextBox3.Text = Empty
TextBox4.Text = Empty
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Label5_Click()
End Sub