Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Quiz

Forumthread: Quiz

Quiz
15.05.2017 11:58:55
Ulquiorra
Guten Tag,
ich möchte in Excel per Makro ein kleines Quiz erstellen. Dieses soll wie folgt funktionieren:
Per Klick auf eine Schaltfläche soll sich eine Maske öffnen, die abfragt "Neues Spiel" oder "Kennwort eingeben"
Das Quiz selbst soll so aufgebaut sein, dass per InputBox eine Frage gestellt wird. Wird diese Frage richtig beantwortet, erhält man ein Kennwort und gelangt zur nächsten Frage. Ist die Frage falsch beantwortet, kommt eine Meldung "Leider Falsch" und man bleibt bei dieser Frage.
Klickt man zu beginn auf "Kennwort eingeben" hat man die Möglichkeit sein erhaltenes Kennwort einzugeben und direkt zur Frage zu gelangen bei der man aufgehört hat.
Wichtig ist, dass man die InputBoxen auf "Spiel beenden" jederzeit canceln kann.
Leider reichen meine Kenntnisse nur bis hier hin:

Sub Schaltfläche1_Klicken()
Dim I1 As String
Dim I2 As String
Dim I3 As String
Dim I4 As String
Dim I5 As String
A:
I1 = InputBox("Was ist 1 + 1?:")
If I1 = "2" Then
B:
I2 = InputBox("Was ist 2 + 2?:")
Else: GoTo A:
If I2 = "4" Then
C:
I3 = InputBox("Was ist 3 + 3?:")
Else: GoTo B:
If I3 = "6" Then
D:
I4 = InputBox("Was ist 4 + 4?:")
Else: GoTo C:
If I4 = "8" Then
E:
I5 = InputBox("Was ist 5 + 5?:")
Else: GoTo D:
End If
End If
End If
End If
End Sub

Ich bitte um Hilfe oder Ratschläge.
Vielen Dank! :)
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Quiz
15.05.2017 13:23:47
ChrisL
Hi
https://www.herber.de/bbs/user/113593.xlsm
Die Tabelle mit den Fragen und PW müsstest du natürlich ausblenden.
Sub Quizzy()
Dim Zeile As Long, varAntwort As Variant
With Worksheets("Tabelle1")
Zeile = 2
If MsgBox("Neu starten?", vbYesNo) = vbNo Then
varAntwort = InputBox("Passwort Eingabe")
If WorksheetFunction.CountIf(.Columns(3), varAntwort) = 0 Then
MsgBox "Passwort falsch, das Quiz beginnt neu"
Else
Zeile = Application.Match(varAntwort, .Columns(3), 0)
End If
End If
Do While Zeile  .Cells(Zeile, 2).Text
varAntwort = Application.InputBox(.Cells(Zeile, 1))
If varAntwort = False Then Exit Sub
If varAntwort  .Cells(Zeile, 2).Text Then
MsgBox "Leider falsch, Frage wiederholen"
Else
MsgBox "Korrekt. Passwort: " & .Cells(Zeile + 1, 3)
End If
Loop
Zeile = Zeile + 1
Loop
End With
End Sub

cu
Chris
Anzeige
AW: Quiz
18.05.2017 15:18:14
Ulquiorra
Hallo ChrisL,
vielen vielen Dank für die schnelle und gute Antwort. Genau so habe ich mir es vorgestellt! :)
Es gibt nur noch eine Kleinigkeit. Wenn ich bei "Neu starten?" auf "Nein" klicke, gelange ich ja auf die Maske, in der man ein Kennwort eingeben muss. Bestätige ich nun allerdings ohne etwas in das Inputfeld einzutragen oder breche ich das Quiz von dieser Maske aus ab, so kommt eine Laufzeitfehlermeldung.
Kann ich dich hierbei nochmals um deine Hilfe bitten?
Anzeige
AW: Quiz
18.05.2017 17:00:58
ChrisL
Hi
Hier der korrigierte Code...
Sub Quizzy()
Dim Zeile As Long, varAntwort As Variant
With Worksheets("Tabelle1")
Zeile = 2
If MsgBox("Neu starten?", vbYesNo) = vbNo Then
varAntwort = Application.InputBox("Passwort Eingabe")
If varAntwort = False Then
Exit Sub
ElseIf varAntwort = "" Or WorksheetFunction.CountIf(.Columns(3), varAntwort) = 0 Then
MsgBox "Passwort falsch, das Quiz beginnt neu"
Else
Zeile = Application.Match(varAntwort, .Columns(3), 0)
End If
End If
Do While Zeile  .Cells(Zeile, 2).Text
varAntwort = Application.InputBox(.Cells(Zeile, 1))
If varAntwort = False Then
Exit Sub
ElseIf varAntwort  .Cells(Zeile, 2).Text Then
MsgBox "Leider falsch, Frage wiederholen"
Else
MsgBox "Korrekt. Passwort: " & .Cells(Zeile + 1, 3)
End If
Loop
Zeile = Zeile + 1
Loop
End With
End Sub

cu
Chris
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige