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ê deseja começar a usar o software o mais rápido possível, então você pode:
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. |
Na janela do projeto VBA, renomeie as planilhas conforme mostrado aqui.
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.



