Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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

Lerntool antworten durcheinander werfen

Lerntool antworten durcheinander werfen
20.09.2017 02:17:19
Rouven
Hallo Leute
ich bin gerade an einem kleinem Lerntool für unsere Azubis. Da wir ja manchmal faul sind und einfach arbeiten wollen, würde ich gerne 4 optionsbuttons via Zufallsgenerator untereinander tauschen.
Die Optionsbuttons stellen die Antworten dar. Momentan ist immer Antwort 1 und somit Optionsbutton 1 richtig. Jedoch ist dieser auch immer fest an der ersten Position, was natürlich für ein trainingstool nicht sinnvoll ist.
Ich hoffe ihr versteht mein Problem und könnt mir weiterhelfen.
Im Anhang befindet sich das Projekt. Über den Button in Tabelle 1 wird momentan noch die Userform aufgerufen. Dann gibt es ein Label wo die Fragestellung aus Tabelle2 reingehauen wird und die Optionbuttons die die Antwortmöglichkeiten darstellen. Bei richtiger Antwort und klick auf weiter sollen die Optionsbuttons vertauscht werden.
https://www.herber.de/bbs/user/116383.xlsm
Ich freu mich auf eure Antworten. Kritik und Anregungen sind selbstverständlich erwünscht und immer willkommen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lerntool antworten durcheinander werfen
20.09.2017 08:54:26
ChrisL
Hi
Public lngAktuell As Long
Private Sub Antwort1_Click()
CommandButton1.Enabled = True
End Sub

Private Sub Antwort2_Click()
CommandButton1.Enabled = True
End Sub

Private Sub Antwort3_Click()
CommandButton1.Enabled = True
End Sub

Private Sub Antwort4_Click()
CommandButton1.Enabled = True
End Sub

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 4
With UserForm1.Controls("Antwort" & i)
If .Value = True Then
If .Tag = "richtig" Then
MsgBox "Bravo"
If lngAktuell = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row Then
lngAktuell = 1
Call LadeFrage
Else
lngAktuell = lngAktuell + 1
Call LadeFrage
End If
Antwort1 = False
Antwort2 = False
Antwort3 = False
Antwort4 = False
Else
MsgBox "Bitte überdenke deine Antwort ..."
End If
End If
End With
Next i
End Sub

Private Sub CommandButton2_Click()
lngAktuell = 1
Call LadeFrage
End Sub
Private Sub UserForm_Initialize()
lngAktuell = 1
Call LadeFrage
End Sub

Private Sub LadeFrage()
Dim WS As Worksheet: Set WS = Worksheets("Tabelle2")
Dim i As Integer, ar(3) As Variant, iZufall As Integer, x As Integer, b As Boolean
Randomize
With UserForm1
.Label1 = WS.Cells(lngAktuell, 2)
If lngAktuell = WS.Cells(Rows.Count, 1).End(xlUp).Row Then
.Label2 = WS.Cells(1, 2)
Else
.Label2 = WS.Cells(lngAktuell + 1, 2)
End If
Do Until x = 4
iZufall = Int((4 * Rnd) + 1)
b = False
For i = 0 To 3
If ar(i) = iZufall Then
b = True
Exit For
End If
Next i
If Not b Then
ar(x) = iZufall
x = x + 1
End If
Loop
For i = 0 To 3
.Controls("Antwort" & i + 1).Caption = WS.Cells(lngAktuell, ar(i) + 2)
If ar(i) = 1 Then
.Controls("Antwort" & i + 1).Tag = "richtig"
Else
.Controls("Antwort" & i + 1).Tag = "falsch"
End If
Next i
.CommandButton1.Enabled = False
End With
End Sub

cu
Chris
Anzeige
AW: Lerntool antworten durcheinander werfen
20.09.2017 08:59:59
fcs
Hallo Rouven,
ich hab dir die Funktionalität zum Mischen der Position der Optionsschaltflächen eingebaut.
Ansonsten hab ich folgendes eingebaut:
  • Die Start-Schaltfläche setzt den Fragenzähler nicht auf 1. Es wird die in A2 angezeigte letzte nicht beantwortete Frage ins Userform geladen.

  • Der Neu-Start mit Frage 1 muss in einer Messagebox bestätigt werden - verhindert versehentlichen Neustart.

  • Für die OptionButtons brauchst du nicht per Makro die jeweils anderen Buttons auf False setzen, wenn eine Option gewählt wird. Das macht Excel automatisch.

  • Die Auswahl einer Option (Antwort) aktiviert (Enabled=True) jetzt die Weiter-Schaltfläche

  • Wird eine neue Frage geladen, dann wird die Weiter-Schaltfläche deaktiviert

  • Für Personen mit Sehschwäche hab ich die Schriftgröße von 8 auf mindestens 11 vergrößert.

  • Pause/Beenden-Schaltfläche eingefügt - blendet das Userform aus

  • Weitere Anregeung:
    Wenn die Fragen in Blöcken Themenbereiche behandeln, dann sollte im Userform eine Combobox eingefügt werden, mit der ein Thema ausgewählt werden kann und die Frage-Nr. dann auf die 1. Frage des Themenblocks gesetzt werden. (2-spaltige Combox mit Thema und Nr. der 1. Frage als Auswahl)
    https://www.herber.de/bbs/user/116385.xlsm
    Gruß
    Franz
    Anzeige
    Mal eine Anregung zur Umsetzung
    20.09.2017 09:14:14
    yummi
    Hallo Rouven,
    mal als Idee für dich:
    Im Initialize deinner Userform kannst Du den Wert deiner Optionsbutton setzen. Also so in etwa: Per Zufallszahl verteilen, so auch bei jeder neuen Frage. Du musst dir dann noch merklen wo die korrekte Antwort hinkommt und bei der Eingabe damit vergleichen.
    Reicht dir das bei deinem Level als Anregung oder brauchst Du Hilfe?
    Gruß
    yummi

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige