| Hallo Karl
Danke für die Antwort! Ich möchte noch schnell zusammenfassen was ich mir von der Prozedur erhoffe! Möglicher weise liegt darin der Schlüssel! :-)
Ich stelle dem User eine Frage gebe ihm bis zu fünf Antworten zur Auswahl! (Es sind in der Regel zwei bis fünf Antworten und es können mehrere Richtig sein!) Nach betätigen des "Weiter"-Knopfs über prüft die Prozedur die Antworten. Ist alles Korrekt wird m_richtig um einen Punkt erhöht. Also pro Frage maximal ein Punkt und die nächste Frage wird ohne Verzögerung angezeigt! Ist eine der antworten Falsch, also eine falsche Antwort angekreuzt oder eine richtige nicht angekreuzt, möchte ich eine Korrektur für ca. eine Sekunde anzeigen! Das würde heissen bei vier Antworten bei denen zwei richtig wären aber nur eine angekreuzt wurde, dass für eine Sek. drei grün und eine rot angezeigt wird und danach die nächste Frage angezeigt wird. Der User soll ja auch etwas lernen! :-)
Der von Dir vorgeschlagene Code funktioniert nur bei fünf antworten und zeigt nur gerade die eine Antwort (i) als Korrektur farbig an!
Bei meinem Code habe ich das Problem, dass er immer nur bis zur ersten angekreuzten Antwort geht und die restlichen ignoriert!
Die Zeilen habe ich in meinen Code aufgenommen und sind super! :-)
Beep
'// 1 Sekunde warten
DoEvents
Sleep 1000
'// ----------------- Feldfarbe wieder zurücksetzen
For i = 1 To 5
Me("Antwort_Text_" & i).ForeColor = vbBlack
Next i
'// -----------------
Mit freundlichem Gruss
Martin |