Hallo liebe Community,
im Rahmen eines Studiums hatte ich mir erste Kenntnisse mit VBA aneignen können, die mir aber bei der Problemlösung im Moment nicht helfen und ich daher extern nach Ratschlägen suchen muss.
Mein Anliegen ist Folgendes: Ich versuche eine Excel-Tabelle anzulegen, mit der ich zukünftige Klassenarbeiten (Ich studiere Lehramt) auswerten möchte. Dazu habe ich mir beispielhaft eine Tabelle angelegt und die Teilaufgaben einer imaginären Arbeit mit den entsprechenden Bepunktungen nebeneinander (also in F5, G5, H5 usw.) notiert. Darunter (also in F7, F8, F9,... (für Aufgabe F)) werden die jeweiligen erreichten Punkte der Schüler eingetragen. Sollte ich unaufmerksam sein und versehentlich eine Punktzahl eintragen, die höher als die maximale Punktzahl ist, sollte eine Fehlermeldung erscheinen.
Das habe ich für genau eine Spalte/Aufgabe geschafft. Sobald ich aber weitere Zelleninhalte anderer Spalten programmieren möchte, streikt Excel. Kann mir jemand helfen?
Mein bisheriger Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xFr As String
Dim xWSName As String
xFr = "F7:F31"
xWSName = "Ueberblick"
xF = "F5"
If Intersect(Target, Range("F7:F31")) Is Nothing Then Exit Sub
If IsEmpty(Target) Then Exit Sub
xNumF = (Sheets(xWSName).Range(xF).Value)
If (Target.Value) > (Sheets(xWSName).Range(xF).Value) Then
MsgBox Prompt:="Die eingegebene Punktzahl ist größer als die Maximalpunktzahl, bitte überprüfen! ", Title:="WARNUNG"
End If
End Sub
Mein Code mit dem Versuch eine Aufgabe zu ergänzen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xFr As String
Dim xHr As String
Dim xWSName As String
xFr = "F7:F31"
xHr = "H7:H31"
xWSName = "Ueberblick"
xF = "F5"
xH = "H5"
If Intersect(Target, Range("F7:F31")) Is Nothing Then Exit Sub
If IsEmpty(Target) Then Exit Sub
xNumF = (Sheets(xWSName).Range(xF).Value)
If (Target.Value) > (Sheets(xWSName).Range(xF).Value) Then
MsgBox Prompt:="Die eingegebene Punktzahl ist größer als die Maximalpunktzahl, bitte überprüfen! ", Title:="WARNUNG"
If Intersect(Target, Range("H7:H31")) Is Nothing Then Exit Sub
If IsEmpty(Target) Then Exit Sub
xNumH = (Sheets(xWSName).Range(xH).Value)
If (Target.Value) > (Sheets(xWSName).Range(xH).Value) Then
MsgBox Prompt:="Die eingegebene Punktzahl ist größer als die Maximalpunktzahl in H, bitte überprüfen! ", Title:="WARNUNG"
End If
End If
End Sub
Danke schonmal und frohe Weihnachten!
|