Thema Datum  Von Nutzer Rating
Antwort
Rot Ja/Nein Abfragen mit optionsfelder
12.03.2013 00:56:34 vbler
Solved

Ansicht des Beitrags:
Von:
vbler
Datum:
12.03.2013 00:56:34
Views:
2071
Rating: Antwort:
 Nein
Thema:
Ja/Nein Abfragen mit optionsfelder

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Ja/Nein Abfragen mit optionsfelder
12.03.2013 00:56:34 vbler
Solved