DataNumen Sistema de entrada de notas - um sistema gratuito de entrada de notas para professores

Compartilhe agora:

Os professores sempre têm toneladas de tarefas para concluir. Eles têm que preparar anotações para a aula de amanhã, acompanhar o desempenho dos alunos, preparar relatórios para a alta administração e muito mais. Vamos tornar a entrada de marca uma tarefa fácil para eles.

Faça o download

Se você quiser start para usar o software o mais rápido possível, então você pode:

Baixe o software agora

Caso contrário, se você quiser DIY, pode ler o conteúdo abaixo.

Vamos preparar a GUI

Conforme mostrado nestas imagens, prepare a ferramenta com as folhas necessárias.

Nome da Folha Descrição
entrada Esta é a GUI para entrada de marca.
banco de dados Esta folha atua como banco de dados e contém as notas dos alunos
Lista Esta planilha possui dados que serão usados ​​para criar menus suspensos.
Estudantes Esta folha é os mapas de vários alunos para suas respectivas classes.

Folha de entrada

Lista de Folhas

Folha Aluno

Na janela do projeto VBA, renomeie as planilhas conforme mostrado aqui.Renomear planilhas na janela do projeto VBA

Vamos torná-lo funcional

Copie a macro para um novo módulo e anexe as macros aos seus respectivos botões.

Macro Anexar ao botão Descrição
Class_dropdown - Esta macro cria o menu suspenso para “Classe”
Seção_dropdown - Esta macro cria o menu suspenso para “Seção”
Assunto_dropdown - Esta macro cria o menu suspenso para “Assunto”
Mostrar_Lista Mostrar lista Esta macro mostra os Alunos da Turma e Seção Selecionada
Adicionar_ao_banco de dados Enviar Esta macro carrega as entradas de marca na planilha do banco de dados.
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

Ajuste-o

Este script permite criar um sistema de entrada de marca muito básico. No entanto, você pode ajustá-lo e criar relatórios analíticos usando dados da planilha “Banco de Dados”. É uma boa prática criar um backup para a folha de banco de dados. Isso o ajudará a recuperar um xlsx corrompido Folha.

Introdução do autor:

Nick Vipond é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo palavra corrupta e produtos de software de recuperação do Outlook. Para mais informações visite www.datanumen.com.

Compartilhe agora:

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *