Hallo. Habe in Excel einen Vokabeltrainer programmiert.
In den sheets (Tabelle1 = Lektion 1, Tabelle2 = Lektion 2, ...):
Spalte A: spanisches Wort
Spalte B: deutsche Übersetzunh
Spalte C: counter richtig beantwortet
Spalte D: counter falsch beantwortet
Problem ist nun, dass ich in den Quelltext eine Schleife habe, die bei Falschbeantwortung der Vokabel diese so oft wiederholen lässt, bis ich sie richtig eingetippt habe. Am Ende soll ermittelt werden, wie viel Prozent der eingaben richtig waren. Jetzt ist es so, dass das Programm am Ende immer 100% richtig anzeigt, da nur noch die richtig beantworteten gezählt werden... siehe Quelltext. Kann mir wer helfen?
Tausend Dank!
S.
Sub Abfragen()
Dim durchlauf, i, zähler, lektion As Integer, antwort As String, vokabel_zahl As Long, vokabel, richtige_vokabel As Variant
Dim letzte_zeile As Variant
zähler = 0
durchlauf = InputBox("Wie viele Vokabeln?")
lektion = InputBox("Welche Lektion?" & Chr(10) & "Zahl zwischen 1 und 5")
letzte_zeile = Worksheets(lektion).Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To durchlauf
start:
vokabel_zahl = Int((letzte_zeile * Rnd) + 1)
wiederholen:
If Worksheets(lektion).Cells(vokabel_zahl, 3).Value <= 5 Then
vokabel = Worksheets(lektion).Cells(vokabel_zahl, 2)
richtige_vokabel = Worksheets(lektion).Cells(vokabel_zahl, 1)
antwort = InputBox(vokabel)
Else
GoTo start:
End If
If antwort = richtige_vokabel Then
MsgBox ("RICHTIG! " & antwort & " heißt " & vokabel)
Worksheets(lektion).Cells(vokabel_zahl, 3).Value = Worksheets(lektion).Cells(vokabel_zahl, 3).Value + 1
zähler = zähler + 1
Else
MsgBox ("FALSCH! " & richtige_vokabel & " heißt " & vokabel & _
Chr(10) & "Deine Antwort war " & antwort & " !")
Worksheets(lektion).Cells(vokabel_zahl, 4).Value = Worksheets(lektion).Cells(vokabel_zahl, 4).Value + 1
GoTo wiederholen:
End If
Next i
MsgBox ("Du hast " & (zähler / durchlauf) * 100 & "% richtig beantwortet!") 'hier kommt die falsche zahl raus! :-)
End Sub
|