Vokabeltrainer
05.02.2019 08:52:00
Jens
ich habe folgende Frage: Könnte mir jemand einen Tipp geben wie ich es hin bekomme, das ich in Excel eine art Kreditkartensystem für einen Vokabeltrainer hin bekomme? Sprich ich würde gerne Vokabeln von Englisch nach Deutsch und umgekehrt trainieren und wenn ich sie drei mal richtig habe, kommen sie nicht mehr. Da es über 500 Stück sind momentan und jede Woche kommen neue dazu.
Mein Aktueller Code ist dieser hier (Habe ich selbst nur so im Internet gefunden):
Sub lernen()
On Error GoTo ende
For i = 1 To Worksheets.Count
Sheets(i).Activate
Columns("B:B").Hidden = True
Next
anzahl = InputBox("Geben Sie die Anzahl der abzufragenden Wörter an !")
r = 0
f = 0
For i = 1 To anzahl
A = zufall
Range(A).Select
deutsch = InputBox("Geben Sie die Übersetzung von '" & Range(A) & "' ein!")
If deutsch = ActiveCell.Offset(0, 1) Then
MsgBox ("Richtig!")
r = r + 1
ElseIf deutsch = "" Then Exit For
Else
MsgBox ("Falsch!, Richtig wäre '" & ActiveCell.Offset(0, 1) & "' gewesen")
f = f + 1
End If
Next
MsgBox ("Sie haben " & r & " richtige und " & f & " falsche Antworten gegeben.")
For i = 1 To Worksheets.Count
Sheets(i).Activate
Columns("A:B").Hidden = False
Next
ende:
For i = 1 To Worksheets.Count
Sheets(i).Activate
Columns("A:B").Hidden = False
Next
Sheets(1).Activate
End Sub
Function zufall()
Tabellenzahl = Worksheets.Count
Blatt = Int(Tabellenzahl * Rnd + 1)
Worksheets(Blatt).Activate
Set tabelle = ActiveCell.CurrentRegion
Zeilenzahl = tabelle.Rows.Count
Zeile = Int((Zeilenzahl - 1) * Rnd + 1) * 1
zufall = "A" & Zeile
End Function
Sub lernen_engl()
On Error GoTo ende
For i = 1 To Worksheets.Count
Sheets(i).Activate
Columns("A:A").Hidden = True
Next
anzahl = InputBox("Geben Sie die Anzahl der abzufragenden Wörter an !")
r = 0
f = 0
For i = 1 To anzahl
B = zufallengl
Range(B).Select
englisch = InputBox("Geben Sie die Übersetzung von '" & Range(B) & "' ein!")
If englisch = ActiveCell.Offset(0, -1) Then
MsgBox ("Richtig!")
r = r + 1
ElseIf englisch = "" Then Exit For
Else
MsgBox ("Falsch!, Richtig wäre '" & ActiveCell.Offset(0, -1) & "' gewesen")
f = f + 1
End If
Next
MsgBox ("Sie haben " & r & " richtige und " & f & " falsche Antworten gegeben.")
For i = 1 To Worksheets.Count
Sheets(i).Activate
Columns("A:B").Hidden = False
Next
ende:
For i = 1 To Worksheets.Count
Sheets(i).Activate
Columns("A:B").Hidden = False
Next
Sheets(1).Activate
End Sub
Function zufallengl()
Tabellenzahl = Worksheets.Count
Blatt = Int(Tabellenzahl * Rnd + 1)
Worksheets(Blatt).Activate
Set tabelle = ActiveCell.CurrentRegion
Zeilenzahl = tabelle.Rows.Count
Zeile = Int((Zeilenzahl - 1) * Rnd + 1) * 1
zufallengl = "B" & Zeile
End Function
Besten Dank schon mal vorab, an die Helfer.
Lieben Gruß Jens