VBA Millionenshow

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: VBA Millionenshow
von: Markus
Geschrieben am: 19.06.2015 17:08:28

Hallo, bin gerade dabei ein Schulprojekt zu Programmieren. Unsere Aufgabe ist es eine Millionenshow zu programmieren.
Da man das sicherlich auf mehrere Wege programmieren kann erkläre ich euch wie ich es bis jetzt gemacht habe.
Ich habe eine MultiPage mit 15 Pages, die am Anfang alle Ausgeblendet sind. Drückt man nun auf Start, wird die Erste Mulitpage mit Frage 1 eingeblendet und ausgewählt
Private Sub cmdStart_Click()
Me.MultiPage1.Pages(0).Visible = True
Me.MultiPage1.value = 0
End Sub
Die Antwortmöglichkeiten habe ich jeweils von A bis D mit CommandButtons erstellt.
Drückt man den Richtigen der 4 CommandButtons kommt man weiter auf die 2. Seite der MultiPage zur nächsten Frage, die wiederum eigene CommandButtons zum Antworten hat.
Soweit ist das ganze natürlich kein Problem und relativ easy, allerdings komme ich nun zu den Jokern.
50/50 Joker ist auch relativ einfach, es wird der Button Gedrückt werden einfach 2 CommandButtons ausgeblendet --> hier das Beispiel für Frage 1 (Antworten C und D werden ausgeblendet) Außerdem werden noch alle anderen 50/50 Chance Buttons bei allen restlichen Fragen ausgeblendet, um sie nicht nochmal benützen zu können.
Hier noch kurz die Erklärung für meine Bezeichnungen
cmd(CommandButton)1(Frage 1)5050(50/50 Chance)
cmd(CommandButton)1(Frage 1)c(Antwort C)

Private Sub cmd15050_Click()
Me.cmd1c.Visible = False
Me.cmd1b.Visible = False
With Me
.cmd15050.Visible = False
.cmd25050.Visible = False
.cmd35050.Visible = False
usw.
.cmd155050.Visible = False
End With
End Sub

Aber nun komme ich zu meiner Schwierigkeit. Der "2. Chance" Button.
Genau wie für die 50/50 Chance habe ich für jede Frage einen eigenen 2. Chance Button. --> cmd12chance, cmd22chance, cmd32chance .... usw
Leider habe ich momentan noch keine Ahnung wie ich an die Sache rangehen soll. Auf jeden fall, wenn ich den Button drücke, sollte ich, falls ich beim ersten Mal die Falsche Antwort wähle, nochmal probieren können.
Das müsste ich dann eben bei jeder Frage eintragen, dass sich alle anderen Buttons ausbleden wenn er gedrückt wird, sollte ja dann wieder kein problem sein.
Habt ihr Ansätze wie das geht? oder könnt ihr mir da irgendwie helfen?
Zur Info, wir müssen das Programm nicht mit Jokern programmieren, der Lehrer sah es mehr als "Zusatzaufgabe", also nicht das ihr denkt ich will hier dass ihr mir die Hausübung erledigt.

Bild

Betrifft: wer soll das nachbauen ?
von: Matthias L
Geschrieben am: 19.06.2015 18:01:56
Hallo
Zitat

50/50 Joker ist auch relativ einfach, es wird der Button Gedrückt werden einfach 2 CommandButtons ausgeblendet --> hier das Beispiel für Frage 1 (Antworten C und D werden ausgeblendet
So ganz einfach 2 Button ausblenden ist aber nicht korrekt!
Du musst ja zumindest sicherstellen, das die richtige Antwort nicht ausgeblendet wird.
Klingt auf jedenfall interssant.
Aber um da was zu probieren, hab ich keine Lust da was größeres nachzubauen.
Ich würde auch nur deaktivieren und nicht ausblenden(ist aber nur Geschmackssache)
Userbild
Gruß Matthias

Bild

Betrifft: AW: wer soll das nachbauen ?
von: Markus
Geschrieben am: 19.06.2015 18:12:41
Die Fragen und Antworten sind ja immer Gleich, deshalb weis ich ja vorher was ich ausblenden darf und was nicht. das kann ich ja vorher definieren.
Da ich für Jede Frage einen eigenen Button habe, lässt sich ja auch ausschließen dass die richtige Antwort weggeblendet wird.
Das mit dem Deaktivieren ist allerdings eine bessere Möglichkeit, sieht auch besser aus, hab da noch garnicht darüber nachgedacht.
Man könnte das mit der 2.Chance ja auch mit einem ToggleButton machen? Ich denke das könnte das noch vereinfachen.
eine aufwändige, aber funktionierende Lösung könnte ja sein, bei den falschen Antworten folgenden Code zu verwenden (wenn die Antwort richtig ist, ist die 2. Chance ja eh irrelevant)

Private Sub cmd1b_Click()
If ToggleButton1 = True Then
MsgBox (Sie Haben noch eine Chance)
Togglebutton1.Enabled = True
Else
MsgBox (Leider ist die Antwort Falsch)
End
End If
End Sub

das Else ist ja dann wieder eine eigene Sache, wie man verfährt wenn die Antwort falsch ist.
Aber so müsste es klappen oder?

Bild

Betrifft: hier mal ein Link ... Frage Antwort
von: Matthias L
Geschrieben am: 19.06.2015 18:51:58
Hallo
Hier mal ein Bsp von mir
Evtl. hift Dir das. Ist evtl. auch etwas einfacher strukturiert.
https://www.herber.de/forum/archiv/1364to1368/t1366294.htm#1366430
Gruß Matthias

Bild

Betrifft: AW: hier mal ein Link ... Frage Antwort
von: Markus
Geschrieben am: 19.06.2015 19:14:49
Hallo, Danke für die Antwort. Leider kann ich damit nicht viel anfangen.
Es sind einfach zu viele Elemente enthalten die wir noch nicht gelernt haben.
Aber ich hab das jetzt mal so probiert wie ich es geschrieben habe, hat geklappt. Muss dass halt nun für alle 15 Fragen machen ^^
Aber Danke Trotzdem für eure Antworten

 Bild

Beiträge aus den Excel-Beispielen zum Thema "CSV Importieren"