Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1672to1676
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vokabeltrainer

Vokabeltrainer
05.02.2019 08:52:00
Jens
Hallo Zusammen,
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vokabeltrainer
05.02.2019 11:03:19
Daniel
Hallo Jens,
lade am besten mal die Mappe hoch, dann kann man darin rumprobieren.
Grüße
Daniel
AW: Vokabeltrainer
05.02.2019 12:14:22
Jens
[URL=https://www.file-upload.net/download-13498212/Vokabeltrainer2.0.xlsm.html]Vokabeltrainer2.0.xlsm[/URL]
AW: Vokabeltrainer
05.02.2019 12:56:18
Daniel
Warum lädst du die Tabelle nicht hier im Forum hoch? Auch lieber die .xlsx und den Code hier rein posten, fremde .xlsm Dateien öffnen ist immer so eine Sache...
AW: Vokabeltrainer
05.02.2019 13:02:32
Jens
https://www.herber.de/bbs/user/127431.xlsx
Der Code ist:
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

Anzeige
AW: Vokabeltrainer
05.02.2019 13:39:10
Daniel
In deiner Mappe gibt es nur ein Blatt, insofern habe ich den ganzen Part mit Blätter durchgehen und einige überflüssige Zeilen auskommentiert. Du kannst diese Teile natürlich jederzeit wieder "entkommentieren" und nutzen (allerdings nicht getestet).
Sub lernen()
Dim anzahl, r, f, i As Long
Dim deutsch, A As String
'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
If anzahl  "" Then
For i = 1 To anzahl
A = zufall
'    Range(A).Select
If Range(A).Offset(0, 2) >= 3 Then
Exit For
Else
deutsch = InputBox("Geben Sie die Übersetzung von '" & Range(A) & "' ein!")
If deutsch = Range(A).Offset(0, 1) Then
MsgBox ("Richtig!")
r = r + 1
Range(A).Offset(0, 2) = Range(A).Offset(0, 2) + 1
ElseIf deutsch = "" Then Exit For
Else
MsgBox ("Falsch!, Richtig wäre '" & Range(A).Offset(0, 1) & "' gewesen")
f = f + 1
End If
End If
Next i
Else
GoTo ende
End If
MsgBox ("Sie haben " & r & " richtige und " & f & " falsche Antworten gegeben.")
ende:
' For i = 1 To Worksheets.Count
'    Sheets(i).Activate
Columns("A:B").Hidden = False
'Next
'    For i = 1 To Worksheets.Count
'       Sheets(i).Activate
'       Columns("A:B").Hidden = False
'   Next
'   Sheets(1).Activate
End Sub
Function zufall() As String
'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" & Int((Cells(Rows.Count, 1).End(xlUp).Row - 1) * Rnd + 1) * 1
End Function
Das ist nur der deutsche Teil, kannst du ja aber leicht auf den englischen Part übertragen. Für jede richtige Antwort erhöht der Code einen Zähler in einer Hilfsspalte (hier C). Sobald dort eine 3 steht, wird diese Vokabel nicht mehr abgefragt.
Teste mal!
Grüße
Anzeige
AW: Vokabeltrainer
06.02.2019 08:21:01
Jens
Ich habe es zwar kopiert und glaube es funktioniert, aber ich bin blutiger Anfänger und bekomme das für Englisch nicht hin. Wäre nett wenn Sie/Du das auch machen könntest.
AW: Vokabeltrainer
06.02.2019 08:57:23
Daniel

Sub lernen_eng1()
Dim anzahl, r, f, i As Long
Dim englisch, A As String
Columns("A:A").Hidden = True
anzahl = InputBox("Geben Sie die Anzahl der abzufragenden Wörter an !")
r = 0
f = 0
If anzahl  "" Then
For i = 1 To anzahl
A = zufalleng1
If Range(A).Offset(0, 2) >= 3 Then
anzahl = anzahl + 1
Exit For
Else
englisch = InputBox("Geben Sie die Übersetzung von '" & Range(A) & "' ein!")
If englisch = Range(A).Offset(0, -1) Then
MsgBox ("Richtig!")
r = r + 1
Range(A).Offset(0, 2) = Range(A).Offset(0, 2) + 1
ElseIf englisch = "" Then Exit For
Else
MsgBox ("Falsch!, Richtig wäre '" & Range(A).Offset(0, -1) & "' gewesen")
f = f + 1
End If
End If
Next i
Else
GoTo ende
End If
MsgBox ("Sie haben " & r & " richtige und " & f & " falsche Antworten gegeben.")
ende:
Columns("A:B").Hidden = False
End Sub
Function zufalleng1() As String
zufalleng1 = "B" & Int((Cells(Rows.Count, 2).End(xlUp).Row - 1) * Rnd + 1) * 1
End Function
Gruß
Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige