Thema Datum  Von Nutzer Rating
Antwort
22.09.2011 21:11:21 Marcel
Solved
Blau Ausgabe in zwei Zeilen
23.09.2011 00:21:17 Till
NotSolved
23.09.2011 12:03:29 Marcel
NotSolved
24.09.2011 12:41:57 Till
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
23.09.2011 00:21:17
Views:
1023
Rating: Antwort:
  Ja
Thema:
Ausgabe in zwei Zeilen

Du hast die Variablen in einer Prozedur definiert und fragst sie in einer Anderen ab, welche die Variablen nicht kennt. Da du kein "Option Explicit" verwendest und so keine Variablen Definition gefordert wird gibt es keinen Fehler, weil VBA einfach davon ausgeht das es sich um neue, leere Variablen handelt.

Damit du die Variablen im ganzen Modul verwenden und abfragen kannst musst die definition außerhalb der Prozeduren erfolgen >>

        Dim strAntwort1 As String
        'Ausgabetext1 als Zeichenkette
       
        Dim strAntwort2 As String
        'Ausgabetext2 als Zeichenkette
               
Private Sub cmdEnde_Click()

    Unload Me

End Sub

Private Sub cmdFertig_Click()

    'Variablendeklaration
   
        Dim bteVorgabezahl As Byte
        'Vorgabezahl als ganzzahliger Wert
   
        Dim bteEingabezahl As Byte
        'Eingabezahl als ganzzahliger Wert
   

        Dim bteMaximum As Byte
        'Das Maximum soll als ganzzahliger Wert betrachtet werden
               
        Dim bteMinimum As Byte
        'Das Maximum soll als ganzzahliger Wert betrachtet werden
           
    'Eingabe
   
        bteVorgabezahl = Val(Me.txtEingabe.Value)
        'Vorgabezahl soll aus txtEingabe ausgelesen werden
   
        bteEingabezahl = Val(Me.txtRaten.Value)
        'Eingabezahl soll aus txtRaten ausgelesen werden
       
    'Verarbeitung und Ausgabe

        bteMinimum = bteVorgabezahl - 10
        'Minimum ist Vorgabezahl minus 10
       
        bteMaximum = bteVorgabezahl + 10
        'Maximum ist Vorgabezahl + 10
       
        If bteVorgabezahl <= 0 Then
            strAntwort1 = MsgBox("Sie mogeln! Die Zahl soll größer als 0 sein!", vbOK, "Mogelhinweis")
            Me.txtEingabe.Text = ""
            Me.txtEingabe.SetFocus
        'Popup mit Fehlermeldung, Löschen des Eingabefeldes und Cursorsetzen
        ElseIf bteVorgabezahl >= 100 Then
            strAntwort1 = MsgBox("Sie mogeln! Die Zahl soll kleiner als 100 sein!", vbOK, "Mogelhinweis")
            Me.txtEingabe.Text = ""
            Me.txtEingabe.SetFocus
        'Popup mit Fehlermeldung, Löschen des Eingabefeldes und Cursorsetzen
        Else
            Select Case bteEingabezahl
                Case Is = bteVorgabezahl
                    strAntwort1 = "Gratulation. Sie haben es geschafft!"
                'richtige Eingabe
                Case Is >= bteMinimum
                    strAntwort1 = "Das ist schon ziemlich gut."
                'Eingabezahl ist um höchstens 10 kleiner als Vorgabezahl
                Case Is <= bteMaximum
                    strAntwort1 = "Das ist schon ziemlich gut."
                'Eingabezahl ist um höchstens 10 größer als Vorgabezahl
                Case Is > bteMaximum
                    strAntwort1 = "Strengen Sie sich etwas mehr an!"
                'Eingabezahl ist um mehr als 10 größer als Vorgabezahl
                Case Is < bteMinimum
                    strAntwort1 = "Strengen Sie sich etwas mehr an!"
                'Eingabezahl ist um mehr als 10 kleiner als Vorgabezahl
                Case Is < bteVorgabezahl
                    strAntwort2 = "Sie müssen in größeren Dimensionen denken."
                'Eingabezahl ist zu klein
                Case Is > bteVorgabezahl
                    strAntwort2 = "Sie werden übermütig."
                'Eingabezahl ist zu groß
                Case Else
            End Select
        End If
   
End Sub

Private Sub txtErgebnis_Change()

    Me.txtErgebnis.Text = strAntwort1 + vbNewLine + strAntwort2
    'Textausgabe mit Antwort1 - Zeilenumbruch - Antwort2

End Sub

Sollte so funktionieren wenn sonst alles richtig ist...


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
22.09.2011 21:11:21 Marcel
Solved
Blau Ausgabe in zwei Zeilen
23.09.2011 00:21:17 Till
NotSolved
23.09.2011 12:03:29 Marcel
NotSolved
24.09.2011 12:41:57 Till
NotSolved