jueves, 7 de marzo de 2019

Codigo VBA EXCEL MACROS que Calcula la cantidad de alumnos,

1. a partir de la imagen.



Generamos un códigos

Sub auto_pen()
Hoja2.Visible = xlsheetveryhedden
Hoja3.Visible = xlsheetveryhedden

End Sub

Sub evaluarhoja1()
Call validarhoja1
End Sub

Sub evaluarhoja2()
Call validarhoja2
End Sub

Sub enviar()
Dim f1, f2 As Boolean

f1 = validarhoja1()
If f1 = False Then
MsgBox "error se ha realizado modificaciones en el formato I", vbCritical, "stevejob"
Hoja1.Select
Hoja1.Range("d5").Select
Exit Sub
End If

f2 = validarhoja2()
If f2 = False Then
MsgBox "error se ha realizado modificaciones en el formato II", vbCritical, "stevejob"
Hoja2.Select
Hoja2.Range("c8").Select
Exit Sub
End If

MsgBox "felicitaciones los datos han sido enviados correctamente", vbInformation, "steve jobs"

End Sub

Function validarhoja1() As Boolean
Dim totalgeneral, totalsexo, totalanos, totalsemestre, totalturno As Integer

totalgeneral = Val(Hoja1.Range("d5").Value)
totalsexo = Val(Hoja1.Range("c13").Value)
totalanos = Val(Hoja1.Range("c27").Value)
totalsemestre = Val(Hoja1.Range("g17").Value)
totalturno = Val(Hoja1.Range("g26").Value)

If totalgeneral = 0 Then
MsgBox "error - debe de ingresar la cantidad de alumnos total", vbCritical, "steve jobs"
Hoja1.Select
Hoja1.Range("d5").Select
validarhoja1 = False
Exit Function
End If

If totalgeneral <> totalsexo Then
MsgBox "error en tabla de datos de sexo", vbCritical, "steve jobs"
Hoja1.Select
Hoja1.Range("c11").Select
validarhoja1 = False
Exit Function
End If

If totalgeneral <> totalanos Then
MsgBox "error en tabla de datos de anos", vbCritical, "steve jobs"
Hoja1.Select
Hoja1.Range("c19").Select
validarhoja1 = False
Exit Function
End If

If totalgeneral <> totalsemestre Then
MsgBox "error en tabla de datos de semestre", vbCritical, "steve jobs"
Hoja1.Select
Hoja1.Range("g11").Select
validarhoja1 = False
Exit Function
End If

If totalgeneral <> totalturno Then
MsgBox "error en tabla de datos de turno", vbCritical, "steve jobs"
Hoja1.Select
Hoja1.Range("g23").Select
validarhoja1 = False
Exit Function
End If

'de realizaran las instrucciones al pasar todas las validaciones
MsgBox "datos ingresados correctamente en estadisticas - formato I", vbInformation, "steve jobs"

Hoja2.Visible = True
Hoja2.Select
Hoja2.Range("c8").Select
validarhoja1 = True

End Function

Function validarhoja2() As Boolean
Dim totalgeneral, totaldistrito, totaldepartamento As Integer

totalgeneral = Val(Hoja1.Range("d5").Value)
totaldistrito = Val(Hoja2.Range("c22").Value)
totaldepartamento = Val(Hoja2.Range("g30").Value)

If totalgeneral <> totaldistrito Then
MsgBox "error en tabla de datos de distrito", vbCritical, "steve jobs"
Hoja2.Select
Hoja2.Range("c8").Select
validarhoja2 = False
Exit Function
End If

If totalgeneral <> totaldepartamento Then
MsgBox "error en tabla de datos de departamento", vbCritical, "steve jobs"
Hoja2.Select
Hoja2.Range("g8").Select
validarhoja2 = False
Exit Function
End If

'de realizaran las instrucciones al pasar todas las validaciones
MsgBox "datos ingresados correctamente en estadisticas - formato II", vbInformation, "steve jobs"

Hoja3.Visible = True
Hoja3.Select
Hoja3.Range("c8").Select
validarhoja2 = True


End Function

No hay comentarios:

Publicar un comentario