Gli insegnanti hanno sempre tonnellate di compiti da completare. Devono preparare appunti per la lezione di domani, tenere traccia delle prestazioni degli studenti, preparare rapporti per il top management e molto altro. Rendiamo l'inserimento del segno un compito facile per loro.
Scarica Ora
Se desideri iniziare a utilizzare il software il prima possibile, puoi:
Altrimenti, se vuoi fare il fai-da-te, puoi leggere i contenuti di seguito.
Prepariamo la GUI
Come mostrato in queste immagini, prepara lo strumento con i fogli necessari.
| Nome foglio | Descrizione |
| Iscrizione | Questa è la GUI per l'immissione dei segni. |
| Banca Dati | Questo foglio funge da database e contiene i voti degli studenti |
| Lista | Questo foglio contiene dati che verranno utilizzati per creare elenchi a discesa. |
| Gli studenti | Questo foglio contiene le mappe di vari studenti nelle rispettive classi. |
Dalla finestra del progetto VBA, rinomina i fogli come mostrato qui.
Rendiamolo funzionale
Copia la macro in un nuovo modulo e collega le macro ai rispettivi pulsanti.
| Macro | Attacca al pulsante | Descrizione |
| Class_dropdown | - | Questa macro crea il menu a discesa per "Classe" |
| Sezione_dropdown | - | Questa macro crea il menu a discesa per "Sezione" |
| Soggetto_dropdown | - | Questa macro crea il menu a discesa per "Oggetto" |
| Mostra_elenco | Mostra elenco | Questa macro mostra gli studenti della classe e della sezione selezionate |
| Aggiungi_al_database | Invio | Questo caricamento di macro contrassegna le voci nel foglio del database. |
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
Modificalo
Questo script ti consente di creare un sistema di immissione dei segni molto semplice. Tuttavia, puoi modificarlo e creare report analitici utilizzando i dati dal foglio "Database". È buona norma creare un backup per il foglio del database. Questo ti aiuterà a recuperare a xlsx corrotto foglio.
Introduzione dell'autore:
Nick Vipond è un esperto di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui parola corrotta e prodotti software di ripristino di Outlook. Per maggiori informazioni visita www.datanumen.com.



