miércoles, 22 de enero de 2014

Macro para contabilizar aquellas notas de alumnos con bajo rendimiento

Muchas veces algunas instituciones de educación carecen de políticas  pro-activas para aquellos alumnos que presentan rendimiento bajo en sus evaluaciones. Por otro lado, los docentes está encargados de entregar los conocimientos adecuados a sus cursos, donde en muchas ocasiones éstos están formados entre 30 y 40 alumnos. Dada esta situación es labor del orientador del Colegio entregar apoyo extra-académico para los alumnos con bajo rendimiento.

Sin embargo para los orientadores no poseen toda la información de las notas obtenidos de los alumnos en las distintas asignaturas. Por eso, se propone una simple formulario donde se seleccione el rut del alumno y entregue el número de notas bajo la nota mínima.



Limitaciones

Una da las limitaciones de esta macro que depende del criterio evaluar si el número de notas bajo cuatro implica generar políticas pro-activas o comunicarse con el apoderado para comunicar esta situación.

La segunda limitación  es que no se considera la ponderación de las notas ingresadas. Pues puede ocurrir que un alumno posee notas bajo cuatro, sin embargo estas tienen un ponderación baja, por lo tanto no requieren políticas pro-activas para el alumno.



Código

Sub Situacion_Alumno()

Dim rut As Integer
Dim contador As Integer
Dim notaminima As Integer

notaminima = 40
contador = 0

Sheets("Formulario").Select
Range("D3").Value = rut

Sheets("Notas_AsignaturaCurso").Select

Range("A1").Select

' Busca en cada columna el rut seleccionado en la lista despegable
For j = 1 To 50 Step 1

    If ActiveCell.Offset(j, 0).Value = rut And ActiveCell.Offset(j, 0).Value <> "" Then
     
        For i = 1 To 50 Step 1
         
             ' Busca sí las notas ingresada al alumno seleccionado están bajo la nota mínima

             If ActiveCell.Offset(0, i).Value < notaminima And ActiveCell.Offset(0, i).Value <> "" Then
                ' Sí es así, el contador aumenta en uno.
                contador = contador + 1
             
             End If
             If ActiveCell.Offset(0, i).Value = "" Then
             Exit For
             End If
        Next i
 
    End If
 
    If ActiveCell.Offset(j, 0).Value = "" Then
    Exit For
    End If
 
Next j

Sheets("Formulario").Select
Range("B5").Value = contador

End Sub

Descargar Archivo

No hay comentarios:

Publicar un comentario