Im Netz habe ich das untenstehende Script gefunden. Dieses ermöglicht eine Wörterabfrage (Deutsch-Englisch-Deutsch) gemäss Liste. Es wird jeweils von der Liste ein Wort abgefragt, das via MsgBox zu beantworten ist. Das Problem, resp. ziemlich mühsame dabei ist, dass man jedes Mal den Button erneut anklicken muss, damit eine erneute Abfrage gestartet wird.
Wäre es stattdessen möglich mit Drücken der Entertaste die nächste Abfrage zu starten und mit der Esc-Taste das Script, den Abfrageprozess final zu beenden?
Dieser Wunsch scheint mir etwas kompliziert zu sein, jedoch hat vielleicht jemand eine gute Idee, es sind viele Vokabeln zu büffeln, damit soll es ein wenig einfacher gehen.
Private Sub CommandButton1_Click()
Dim spalte As Integer
Dim a As Long
Dim b As Long
Dim zeile As Integer
Dim Antwort As String
b = 0
spalte = Int(Rnd() * 2) + 1
a = Int(Rnd() * Application.WorksheetFunction.Sum(Range("C:C"))) + 1
For zeile = 2 To Range("C65536").End(xlUp).Row
b = b + Cells(zeile, 3).Value
If b >= a Then Exit For
Next zeile
Antwort = InputBox("Bitte die Übersetzung von" & Chr(10) & Cells(zeile, spalte) & Chr(10) & _
_
"eingeben:")
Select Case spalte
Case 1
If Antwort = Cells(zeile, 2).Value Then
MsgBox "richtig"
If Cells(zeile, 3).Value > 1 Then Cells(zeile, 3).Value = Cells(zeile, 3).Value - 1
Else
MsgBox "Falsch" & Chr(10) & "Die richtige Antwort lautet:" & Chr(10) & Cells(zeile, 2) _
_
.Value
If Cells(zeile, 3).Value 1 Then Cells(zeile, 3).Value = Cells(zeile, 3).Value - 1
Else
MsgBox "Falsch" & Chr(10) & "Die richtige Antwort lautet:" & Chr(10) & Cells(zeile, 1) _
_
.Value
If Cells(zeile, 3).Value
Vielen Dank für Eure HilfeViele Grüsse,
Peter