Hallo zusammen,
Ich bin ein blutiger Anfänger was VBA betrifft, lerne es gerade in der Schule und bräuchte kurz Hilfe.
Es geht um ein Programm (ich mache es im Word) bei welchem man eine Zahl von 1 bis 8 eingibt,
der Computer fragt zuerst, ob die Zahl grösser als 4 ist, dann markiert man ein Optionsfeld (Ja / Nein) und
drückt auf den Button "Raten", nun sollte das Programm fragen: "Ist die Zahl grösser als 6?", tut es aber nicht, sondern
beantwortet diese und die restlichen Abfragen mit "Ja" und kommt somit zum Resultat , dass die Zahl 8 ist.
Ich möchte nun, dass man nach dem Klicken auf "Raten" den Wert der Variable "JaNein" vor jeder IF-Abfrage ändern kann, also:
Optionsfeld "Ja" wird markiert --> klick auf "Raten" --> die Variable "JaNein" ist gleich "True" und im Label wird ausgegeben:
"Ist die Zahl grösser als 6? --> nun sollte ich nochmals das Optionsfeld "Nein" markieren können und wieder auf "Raten" drücken -->
jetzt müsste sich der Wert der Variable "JaNein" auf False setzen --> nun muss das Programm fragen:"Ist die Zahl grösser als 5?" --> jetzt sollte
man wieder das Optionsfeld "Ja" Markieren können und auf "Raten" klicken und es soll im Label ausgegeben werden: "Die Zahl wurde erraten." -->
nebenbei wird im anderen Label der folgender Text angezeigt:"Ihre eingetippte Zahl lautet: 6"
Das Programm sollte also vor jeder IF-Abfrage halt machen und die Variable "JaNein" prüfen, ob diese True oder False ist und zur nächsten abfrage gehen,
sobald der Button "Raten" gedrückt wurde.
Ich hoffe, dass ich mein Problem einigermassen verständlich beschrieben habe und verständliche Hilfe bekomme, danke schonmal im Vorraus, hier noch der Code:
Dim geheimeZahl As Integer 'Globale Variablen
Dim frage As String
Dim errateneZahl As String
Dim JaNein As Boolean
Function wertPruefen()
If optJa Then
JaNein = True
ElseIf optNein Then
JaNein = False
End If
End Function
Private Sub cmdRaten_Click()
If optJa Then
JaNein = True
ElseIf optNein Then
JaNein = False
End If
End Sub
Private Sub UserForm_Click()
frage = "Ist die Zahl grösser als 4?"
lblFrage.Caption = frage
If JaNein = True Then 'Die Zahl ist 5, 6, 7 oder 8
frage = "Ist die Zahl grösser als 6?"
lblFrage.Caption = frage
If JaNein = True Then
frage = "Ist die Zahl grösser als 7?"
lblFrage.Caption = frage
If JaNein = True Then
frage = "Die Zahl wurde erraten."
lblFrage.Caption = frage
errateneZahl = "Ihre eingetippte Zahl lautet: 8"
lblErrateneZahl.Caption = errateneZahl
Else
errateneZahl = "Ihre eingetippte Zahl lautet: 7"
lblErrateneZahl.Caption = errateneZahl
End If
Else
frage = "Ist die Zahl grösser als 5?"
lblFrage.Caption = frage
If JaNein = True Then
frage = "Die Zahl wurde erraten."
lblFrage.Caption = frage
errateneZahl = "Ihre eingetippte Zahl lautet: 6"
lblErrateneZahl.Caption = errateneZahl
Else
errateneZahl = "Ihre eingetippte Zahl lautet: 5"
lblErrateneZahl.Caption = errateneZahl
End If
End If
Else 'Die Zahl ist 1, 2, 3 oder 4
frage = "Ist die Zahl grösser als 2?"
lblFrage.Caption = frage
If JaNein = True Then
frage = "Ist die Zahl grösser als 3?"
lblFrage.Caption = frage
If JaNein = True Then
frage = "Die Zahl wurde erraten."
lblFrage.Caption = frage
errateneZahl = "Ihre eingetippte Zahl lautet: 4"
lblErrateneZahl.Caption = errateneZahl
Else
errateneZahl = "Ihre eingetippte Zahl lautet: 3"
lblErrateneZahl.Caption = errateneZahl
End If
Else
frage = "Ist die Zahl grösser als 1?"
lblFrage.Caption = frage
If JaNein = True Then
frage = "Die Zahl wurde erraten."
lblFrage.Caption = frage
errateneZahl = "Ihre eingetippte Zahl lautet: 2"
lblErrateneZahl.Caption = errateneZahl
Else
errateneZahl = "Ihre eingetippte Zahl lautet: 1"
lblErrateneZahl.Caption = errateneZahl
End If
End If
End If
End Sub
Gruss
vbler
|