Leraren hebben altijd heel veel taken te voltooien. Ze moeten aantekeningen maken voor de klas van morgen, de prestaties van de leerlingen volgen, rapporten opstellen voor het topmanagement en nog veel meer. Laten we het invoeren van een label voor hen een gemakkelijke taak maken.
Nu downloaden
Als u de software zo snel mogelijk wilt gaan gebruiken, kunt u het volgende doen:
Anders, als je zelf wilt klussen, kun je de onderstaande inhoud lezen.
Laten we de GUI voorbereiden
Bereid de tool voor met de benodigde bladen, zoals weergegeven in deze afbeeldingen.
| Bladnaam | Beschrijving |
| binnenkomst | Dit is de GUI voor het invoeren van markeringen. |
| Database | Dit blad fungeert als database en bevat de cijfers van studenten |
| Lijst | Dit blad bevat gegevens die zullen worden gebruikt om vervolgkeuzemenu's te maken. |
| Leerlingen | Dit blad bevat de kaarten van verschillende studenten naar hun respectievelijke klassen. |
Wijzig de naam van bladen in het VBA-projectvenster zoals hier wordt weergegeven.
Laten we het functioneel maken
Kopieer de macro naar een nieuwe module en voeg macro's toe aan hun respectievelijke knoppen.
| Macro | Bevestig aan knop | Beschrijving |
| Klasse_dropdown | - | Deze macro maakt het dropdown-menu voor 'Klasse' |
| Sectie_dropdown | - | Deze macro maakt het dropdown-menu voor 'Sectie' |
| Onderwerp_dropdown | - | Deze macro maakt het dropdownmenu voor 'Onderwerp' |
| Toon_Lijst | Lijst weergeven | Deze macro toont studenten uit de geselecteerde klas en sectie |
| Voeg_aan_database toe | Verzenden | Deze macro upload markeringsitems in het databaseblad. |
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
Pas het aan
Met dit script kunt u een heel eenvoudig tekeninvoersysteem maken. U kunt het echter aanpassen en analytische rapporten maken met behulp van gegevens uit het blad “Database”. Het is een goede gewoonte om een back-up te maken voor het databaseblad. Dit zal u helpen om een corrupte xlsx vel.
Auteur Introductie:
Nick Vipond is een data recovery-expert in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder corrupt woord en Outlook-herstelsoftwareproducten. Voor meer informatie bezoek www.datanumen.com.



