Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
22.09.2011 21:11:21 |
Marcel |
|
|
Ausgabe in zwei Zeilen |
23.09.2011 00:21:17 |
Till |
|
|
|
23.09.2011 12:03:29 |
Marcel |
|
|
|
24.09.2011 12:41:57 |
Till |
|
|
Von:
Till |
Datum:
23.09.2011 00:21:17 |
Views:
1024 |
Rating:
|
Antwort:
|
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...
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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 |
|
|
Ausgabe in zwei Zeilen |
23.09.2011 00:21:17 |
Till |
|
|
|
23.09.2011 12:03:29 |
Marcel |
|
|
|
24.09.2011 12:41:57 |
Till |
|
|