Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vokabeltrainer selbst erstellen

Forumthread: Vokabeltrainer selbst erstellen

Vokabeltrainer selbst erstellen
09.01.2006 17:32:36
Hans
Hallo,
ich habe eine Menge englisch Vokabeln zu lernen, dazu habe ich mir über zwei Spalten eine Excel Tabelle gemacht. In Spalte A ist die deutsche Bedeutung und in Spalte B die englische Übersetzung.
( Es kommen täglich neue Vokabeln dazu ! )
Nun spiele ich mit dem Gedanken mir über eine, zufallsgenerierte Messagebox, die Vokabeln abfragen zu lassen. Soll heißen, dass mal ein englisches Wort gefragt wird und ich das deutsche Wort eingeben muss, mal eben halt umgekehrt.
Es wäre sehr nett wenn ich etwas Unterstützung bei diesem Projekt erhalten würde.
Vielen Dank
Hans-Georg
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vokabeltrainer selbst erstellen
09.01.2006 18:12:29
Andi
Hi,
hier mal ein Ansatz;
das ganze wird über nen CommandButton gestartet, neue Vokabeln können jederzeit hinzugefügt werden.

Private Sub CommandButton1_Click()
Dim spalte As Integer
Dim zeile As Long
Dim Antwort As String
spalte = Int(Rnd() * 2) + 1
zeile = Int(Rnd() * Range("A65536").End(xlUp).Row) + 1
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"
Else
MsgBox "Falsch" & Chr(10) & "Die richtige Antwort lautet:" & Chr(10) & Cells(zeile, 2).Value
End If
Case 2
If Antwort = Cells(zeile, 1).Value Then
MsgBox "richtig"
Else
MsgBox "Falsch" & Chr(10) & "Die richtige Antwort lautet:" & Chr(10) & Cells(zeile, 1).Value
End If
End Select
End Sub

Schönen Gruß,
Andi
Anzeige
AW: Fehler beim kompilieren
09.01.2006 18:20:29
Hans
Hallo und danke für die schnelle Antwort
Ich bekomme folgende Fehlermeldung :
" Nach End Sub,End Funktion oder End Property, können nur Kommentare stehen "
Leider kann ich mit der Meldung nichts anfangen
MfG
Hans - Georg
AW: Fehler beim kompilieren
09.01.2006 18:23:09
Andi
Hi,
ich vermute mal, Du hast meinen Code über das "Option Explicit" in das Tabellen-Modul kopiert; es gehört aber drunter.
Schönen Gruß,
Andi
Anzeige
AW: Fehler beim kompilieren
09.01.2006 18:24:39
Hans
Sorry,
ich habe "End Sub" 2 mal in der Syntax gehabt!
Fuzzt aber nun prima !
Vielen vielen Dank
Hans - Georg
Gern geschehen... (ot)
09.01.2006 18:26:40
Andi
.
Nachtrag
09.01.2006 19:11:10
Andi
Hi nochmal,
hatte grad Zeit und Lust und hab das ganze noch ein wenig aufgebohrt;
die Vokabeln haben jetzt eine Priorität zwischen 1 und 5 mit der die Häufigkeit festgelegt wird, wie oft sie durchschnittlich drankommen. Bei falscher Eingabe erhöht sich die Priorität um 1, bei richtiger Eingabe verringert sie sich um 1. Neu eingegebene Vokabeln haben die Priorität 3.
Das ganze sieht so aus:

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 = 1 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 < 5 Then Cells(zeile, 3).Value = Cells(zeile, 3).Value + 1
End If
Case 2
If Antwort = Cells(zeile, 1).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, 1).Value
If Cells(zeile, 3).Value < 5 Then Cells(zeile, 3).Value = Cells(zeile, 3).Value + 1
End If
End Select
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Then Target.Offset(0, 2).Value = 3
Application.EnableEvents = True
End Sub

Schönen Gruß,
Andi
Anzeige
AW: Nachtrag
09.01.2006 19:15:33
Andi
Bei schon vorhandenen Vokabeln muss die Priorität manuell in Spalte C eingetragen werden...
AW: Nachtrag
09.01.2006 19:39:36
Hans
Hallo Andi,
ich hab mal den neuen Code in den Schaltbutton eingefügt.
Nun habe ich festgestellt, dass eine Vokabel bis zu dreimal hintereinanger abgefragt werden.
z.B. "Geben Sie bitte die Übersetzung für Strand ein!" wird dann bis zu dreimal abgefragt und anschließend wird die Übersetzung von "Beach" dreimal gefordert. Das ist doch sicher nicht in Deinem Sinn gewesen, oder ?
MfG
Hans - Georg
Anzeige
AW: Nachtrag
09.01.2006 19:43:46
Hans-Georg
Hallo,
nach erneutem Test, wird nurnoch nach den Übersetzungen von "evening" = Abend oder der Übersetzung von "Abend" = evening gefragt, irgendwo harkt es !
MfG
Hans - Georg
AW: Nachtrag
09.01.2006 19:46:06
Hans
Hallo noch mal,
ich hab mal in der Tabelle nachgesehen.
Abend - evening,
sind in meiner Tabelle die ersten Einträge.
MfG
Hans - Georg
Anzeige
AW: Nachtrag
10.01.2006 09:23:08
Andi
Hi,
ich hab das mal testweise mit 7 Einträgen 10.000-mal durchlaufen und mir die jeweilige Häufigkeit anzeigen lassen; bei gleicher Priorität sah das Ergebnis so aus:
1 1401
2 1493
3 1424
4 1455
5 1435
6 1385
7 1407
also durchaus in der statistischen Toleranz.
Hast Du alle Prioritäten in Spalte C eingetragen?
Kann mich leider erst heut abend wieder melden, sorry.
Schönen Gruß,
Andi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Vokabeltrainer in Excel erstellen


Schritt-für-Schritt-Anleitung

  1. Erstelle die Vokabelliste:

    • Öffne Excel und erstelle eine neue Tabelle.
    • In Spalte A trägst du die deutsche Bedeutung ein und in Spalte B die englische Übersetzung. Optional kannst du in Spalte C die Priorität der Vokabeln eintragen (von 1 bis 5).
  2. Füge einen CommandButton hinzu:

    • Gehe zu "Entwicklertools" > "Einfügen" > "Button (Formularsteuerung)" und ziehe einen Button auf das Arbeitsblatt.
    • Klicke mit der rechten Maustaste auf den Button und wähle "Code anzeigen".
  3. VBA-Code einfügen:

    • Kopiere den folgenden Code in das VBA-Fenster:
    Private Sub CommandButton1_Click()
       Dim spalte As Integer
       Dim zeile As Long
       Dim Antwort As String
    
       spalte = Int(Rnd() * 2) + 1
       zeile = Int(Rnd() * Range("A65536").End(xlUp).Row) + 1
       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"
               Else
                   MsgBox "Falsch" & Chr(10) & "Die richtige Antwort lautet:" & Chr(10) & Cells(zeile, 2).Value
               End If
           Case 2
               If Antwort = Cells(zeile, 1).Value Then
                   MsgBox "richtig"
               Else
                   MsgBox "Falsch" & Chr(10) & "Die richtige Antwort lautet:" & Chr(10) & Cells(zeile, 1).Value
               End If
       End Select
    End Sub
  4. Code anpassen:

    • Stelle sicher, dass der Code im richtigen Modul eingefügt wird, um Kompilierungsfehler zu vermeiden.
  5. Vokabeln eingeben und abfragen:

    • Du kannst jetzt die Vokabeln in die Tabelle eingeben und über den Button abfragen lassen.

Häufige Fehler und Lösungen

  • Fehlermeldung: "Nach End Sub, End Funktion oder End Property, können nur Kommentare stehen"

    • Stelle sicher, dass der Code im richtigen Modul eingefügt ist und keine zusätzlichen End Sub-Anweisungen vorhanden sind.
  • Vokabeln werden mehrfach abgefragt

    • Überprüfe die Logik im Code, um sicherzustellen, dass die Zufallszahlen korrekt generiert werden und die Vokabeln nicht wiederholt abgefragt werden.

Alternative Methoden

  • Vokabeltrainer mit Priorität:

    • Du kannst die Vokabeln mit einer Priorität versehen, die die Häufigkeit der Abfragen steuert. Füge eine zusätzliche Spalte für die Priorität hinzu und passe den VBA-Code entsprechend an.
  • Vokabeltest selbst erstellen:

    • Du kannst auch ein Vokabellernprogramm zum selber eintragen nutzen, indem du die Eingaben und Abfragen entsprechend anpasst.

Praktische Beispiele

  • Beispiel für die Vokabelliste:

    Deutsch Englisch Priorität
    Abend Evening 3
    Strand Beach 2
    Hund Dog 1
  • Abfrage mit VBA: Der oben angegebene Code fragt zufällig eine Vokabel ab und gibt Feedback zur Eingabe.


Tipps für Profis

  • Datenvalidierung: Verwende Datenvalidierungsregeln, um sicherzustellen, dass nur gültige Vokabeln eingegeben werden.
  • Formatierung: Nutze bedingte Formatierungen, um falsch eingegebene Vokabeln hervorzuheben.
  • Makros speichern: Speichere deine Excel-Mappe als Makro-fähige Datei (.xlsm), um den Vokabeltrainer zu nutzen.

FAQ: Häufige Fragen

1. Wie kann ich neue Vokabeln hinzufügen? Du kannst einfach in die Tabelle neue Zeilen einfügen und die deutschen und englischen Vokabeln sowie die Priorität eingeben.

2. Ist diese Anleitung für alle Excel-Versionen geeignet? Diese Anleitung basiert auf Excel 2016 und höher. In älteren Versionen kann es Unterschiede in der Benutzeroberfläche geben.

3. Kann ich die Vokabeln auch in anderen Sprachen eingeben? Ja, du kannst die Vokabeln für jede Sprache eingeben, indem du die entsprechenden Übersetzungen in die Tabelle einträgst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige