DataNumen Sistema de entrada de marcas: un sistema de entrada de marcas gratuito para profesores

Comparte ahora:

Los profesores siempre tienen toneladas de tareas que completar. Tienen que preparar notas para la clase de mañana, realizar un seguimiento del rendimiento de los estudiantes, preparar informes para la alta dirección y mucho más. Hagamos que la entrada de la marca sea una tarea fácil para ellos.

Descargar Ahora

Si quieres starPara utilizar el software lo antes posible, puede:

Descargue el software ahora

De lo contrario, si desea hacer bricolaje, puede leer el contenido a continuación.

Preparemos la GUI

Como se muestra en estas imágenes, prepare la herramienta con las hojas necesarias.

Nombre de hoja Descripción
Entrada Esta es la GUI para la entrada de marcas.
Database Esta hoja actúa como base de datos y contiene las calificaciones de los estudiantes.
Lista Esta hoja tiene datos que se utilizarán para crear menús desplegables.
Estudiantes Esta hoja son los mapas de varios estudiantes a sus respectivas clases.

Entrada de hoja

Lista de hojas

Estudiante de hoja

Desde la ventana del proyecto VBA, cambie el nombre de las hojas como se muestra aquí.Cambiar el nombre de las hojas en la ventana del proyecto VBA

Hagámoslo funcional

Copie la macro en un nuevo módulo y adjunte macros a sus respectivos botones.

Macro Adjuntar al botón Descripción
Clase_desplegable Esta macro crea el menú desplegable para "Clase"
Sección_desplegable Esta macro crea el menú desplegable de "Sección"
Asunto_desplegable Esta macro crea el menú desplegable para "Asunto"
Mostrar lista Mostrar lista Esta macro muestra a los estudiantes de la clase y sección seleccionadas
Añadir_a_base_de_datos Enviar Formulario Esta macro carga marca las entradas en la hoja de la base de datos.
Sub Class_dropdown()
    Dim lr As Long
    Dim r As Long
    lr = lst.Range("A" & Rows.Count).End(xlUp).Row
    Dim prodlist As String
    For r = 2 To lr
        If prodlist = "" Then
            prodlist = lst.Range("A" & r).Value
        Else
            prodlist = prodlist & "," & lst.Range("A" & r).Value
        End If
        Next r
        With entry.Range("C2:D2").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=prodlist
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
End Sub

Sub Section_dropdown()
    Dim lr As Long
    Dim r As Long
    lr = lst.Range("B" & Rows.Count).End(xlUp).Row
    Dim prodlist As String
    For r = 2 To lr
        If prodlist = "" Then
            prodlist = lst.Range("B" & r).Value
        Else
            prodlist = prodlist & "," & lst.Range("B" & r).Value
        End If
        Next r
        With entry.Range("G2:H2").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=prodlist
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
End Sub

Sub Subject_dropdown()
    Dim lr As Long
    Dim r As Long
    lr = lst.Range("C" & Rows.Count).End(xlUp).Row
    Dim prodlist As String
    For r = 2 To lr
        If prodlist = "" Then
            prodlist = lst.Range("C" & r).Value
        Else
            prodlist = prodlist & "," & lst.Range("C" & r).Value
        End If
        Next r
        With entry.Range("K2:O2").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=prodlist
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
End Sub

Sub Show_List()
    Dim r As Long
    Dim lr As Long
    Dim e As Long
    e = 5
    lr = std.Range("A" & Rows.Count).End(xlUp).Row
    For r = 2 To lr
        If std.Range("A" & r).Value = entry.Range("C2").Value And std.Range("B" & r).Value = entry.Range("G2").Value Then
            e = e + 1
            entry.Range("B" & e).Value = std.Range("C" & r).Value
            entry.Range("C" & e).Value = std.Range("D" & r).Value
        End If
        Next r
End Sub

Sub Add_To_Database()
    Dim r As Long
    Dim lr As Long
    Dim e As Long
    e = 5
    lr = entry.Range("B" & Rows.Count).End(xlUp).Row
    For r = 6 To lr
        Dim lrind As Long
        lrind = db.Range("B" & Rows.Count).End(xlUp).Row + 1
        db.Range("A" & lrind).Value = entry.Range("C2").Value
        db.Range("B" & lrind).Value = entry.Range("G2").Value
        db.Range("C" & lrind).Value = entry.Range("K2").Value
        db.Range("D" & lrind).Value = entry.Range("C" & r).Value
        db.Range("E" & lrind).Value = entry.Range("K" & r).Value
        Next r
End Sub

Retocarlo

Este script le permite crear un sistema de entrada de marcas muy básico. Sin embargo, puede modificarlo y crear informes analíticos utilizando datos de la hoja "Base de datos". Es una buena práctica crear una copia de seguridad de la hoja de la base de datos. Esto le ayudará a recuperar un xlsx corrupto hoja.

Introducción del autor:

Nick Vipond es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo palabra corrupta y productos de software de recuperación de Outlook. Para más información visite www.datanumen.com.

Comparte ahora:

Los comentarios están cerrados.