392 Aufrufe
Gefragt in Tabellenkalkulation von robbi58 Mitglied (966 Punkte)
Ich habe unterschiedlichste Möglichkeiten von Rückmeldungen mithilfe eines CommandButtons bei meinen Arbeitsblättern (mit Punkten, Smileys,...), aber trotz intensiver Suche im Web habe ich es bisher nicht geschafft, eine passende Lösung zu finden. Und meistens dank der Hilfe der Forummitglieder.

Mein Anliegen:

Die richtigen Lösungen stehen in der Spalte C; die Eingaben meiner Schülerinnen stehen in den unterschiedlichsten Feldern (z. B. D2, E4, G8,...). Per CB möchte ich folgende Rückmeldungen geben:

wenn D2=C1; färbe D2 grün; wenn Bedingung nicht erfüllt ist, dann färbe rot; ist die Zelle leer, dann färbe gelb.

Gleiches gilt für die anderen Zellen (z. B. E4 = C2, G8 = C3,...). Und zwar sollten alle Felder gleichzeitig entsprechend eingefärbt werden (also die Zellen D2, E4, G8,...).

Danke für eure Hilfe. Robert

6 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Robert,

so etwas kannst du auch ohne VBA mit der bedingten Formatierung lösen. Siehe z.B. hier: https://www.online-excel.de/excel/singsel.php?f=74

Verwende z.B. für die Zelle D2 die folgenden Formeln in der angegebenen Reihenfolge:

=D2=""   -> Formatierung: Zelle mit Gelb füllen

=D2=C1 -> Formatierung: Zelle mit Grün füllen

=D2<>C1 -> Formatierung: Zelle mit Rot füllen

Gruß

M.O.

0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)
Hallo M.O.

Deine Möglichkeit habe ich schon parat gehabt. Das Problem allerdings ist, dass bei der Eingabe, je nach Ergebnis, sofort die Farbe geändert wird. Ich will aber dies erst am Schluss anzeigen. Nehmen wir an, 10 Eingaben sind erforderlich. Dann möchte ich, dass die bedingte Formatierung (oder Formel oder Makro) nicht sofort wirksam wird, sondern erst beim Drücken des Eingabeknopfes. Weil meine Erfahrung hat gezeigt, dass (ich spreche von Schülerinnen) solange herumprobiert wird, bis das Feld grün aufleuchtet (wenn die 3 falsch ist probieren wir es mit 4, vielleicht noch mit 5, ...).

 Ich hoffe, ich habe meine Idee halbwegs verständlich dargelegt.

Gruß Robert
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Robert,

natürlich können die Schüler auch den Commandbutton mehrmals drücken bis alle Ergebnisse stimmen wink.

Hier mal beispielhaft, wie der Code für die Zelle D2 aussehen könnte:

Private Sub CommandButton1_Click()

If Range("D2") = "" Then
  'Leer = gelb
  Range("D2").Interior.Color = vbYellow
Else
  'richtiges Ergebnis = grün
 If Range("D2") = Range("C1") Then Range("D2").Interior.Color = vbGreen
'falsches Ergebnis = rot
If Range("D2") <> Range("C1") Then Range("D2").Interior.Color = vbRed
End If

End Sub

Für die anderen Zellen kannst du Code entsprechend anpassen.

Gruß

M.O.

0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)

Hallo M. O.

Ich kenne alle Schummeltricks ( weil ich als Schüler dabei eifrig am Werk war) . Aber wie es scheint, du kennst sie auch ( aus welchen Gründen auch immer).  angel

Vielen Dank Robert

+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Robert,

ich war ja auch mal Schüler wink.

Aber das mehrfache Drücken des Commandbuttons kann man ja auch verhindern. Ich habe mal eine kleine Beispieldatei gebastelt: https://filehorst.de/d/cEvambeg

Gruß

M.O.

0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)
Deine Beispieldatei passt ausgezeichnet in mein Konzept. Nach dem Lösen der Aufgaben drückt man den Button und man sieht mit einem Blick, welche Ergebnisse richtig und welche falsch sind. Die Dateien werden dann an mich geschickt und ich kann sie sehr rasch bewerten. Das macht echt Sinn.

Und mit der Verwendung der MessageBox habe ich mich noch gar nicht auseinandergesetzt. Aber ich bastle immer wieder an neuen Arbeitsblättern und erst im Laufe der Arbeit gewinnt man eine Idee, die man umsetzen möchte. Die Ideen gehen mir nicht aus, damit sind weitere Fragen von meiner Seite garantiert.

Ich bedanke mich recht herzlich für das Bemühen von M.O. Und ich hoffe, dass auch andere Forumsmitglieder davon profitieren können.

Robert
...