Anzeige
Archiv - Navigation
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
432to436
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UserForm mit Grenzwerten

UserForm mit Grenzwerten
31.05.2004 11:45:04
Erich
Hallo EXCEL-Freunde,
ich habe eine UserForm in die ich in die Textboxen 1 - 6 negative Grenzwerte
eintrage und dann Auswertungen fahre. Um Eingabefehler zu vermeiden, möchte
ich Bedingungen aufbauen, die zu einer Fehlermeldung ggfls. führen:
1. Alle Zahlen (Grenzen) müssen negativ sein.
2. Die Grenze 2 muss niedriger sein wie 1; 3 niedriger wie 2 usw.
Das Problem zu 1. habe ich gelöst; beim 2. Problem scheitere ich; hier mein
Code - aber was ist falsch?
If TextBox1.Text &gt "0,001" Then MsgBox "Grenze 1 muss negativ sein.", 48, "Hinweis": Exit Sub
If TextBox2.Text &gt "0,001" Then MsgBox "Grenze 2 muss negativ sein.", 48, "Hinweis": Exit Sub
If TextBox3.Text &gt "0,001" Then MsgBox "Grenze 3 muss negativ sein.", 48, "Hinweis": Exit Sub
If TextBox4.Text &gt "0,001" Then MsgBox "Grenze 4 muss negativ sein.", 48, "Hinweis": Exit Sub
If TextBox5.Text &gt "0,001" Then MsgBox "Grenze 5 muss negativ sein.", 48, "Hinweis": Exit Sub
If TextBox6.Text &gt "0,001" Then MsgBox "Grenze 6 muss negativ sein.", 48, "Hinweis": Exit Sub
If TextBox6.Text &gt TextBox5.Text Then MsgBox "Bitte überprüfen Sie die Grenzen 5 und 6.", 48, "Hinweis": Exit Sub
If TextBox5.Text &gt TextBox4.Text Then MsgBox "Bitte überprüfen Sie die Grenzen 4 und 5.", 48, "Hinweis": Exit Sub
If TextBox4.Text &gt TextBox3.Text Then MsgBox "Bitte überprüfen Sie die Grenzen 3 und 4.", 48, "Hinweis": Exit Sub
If TextBox3.Text &gt TextBox2.Text Then MsgBox "Bitte überprüfen Sie die Grenzen 2 und 3.", 48, "Hinweis": Exit Sub
If TextBox2.Text &gt TextBox1.Text Then MsgBox "Bitte überprüfen Sie die Grenzen 1 und 2.", 48, "Hinweis": Exit Sub
Besten Dank für eine Hilfe!
mfg
Erich

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm mit Grenzwerten
sergiesam
Hi,
das problem wird wahrscheinlich sein, dass die Vergleich textuell durchgeführt werden.
d.h. die zahl 11 ist kleiner als die zahl 2, da 1 vor 2 kommt.
du musst die Werte als Zahl mit der Funktion VAL umwandeln
z.b.
If val(TextBox2.Text) &gt val(TextBox1.Text) Then MsgBox "Bitte überprüfen Sie die Grenzen 1 und 2.", 48, "Hinweis": Exit Sub
Probleme könnten hier eventuell das Dezimalzeichen bedeuten, da im VB es ein Punkt ist und in der Eingabe ein Komma.
in diesem Fall musst du das Komma durch einen Punkt ersetzen.
If VAL(Replace(TextBox2.Text,",",".")) &gt VAL(Replace(TextBox1.Text,",",".")) Then MsgBox "Bitte überprüfen Sie die Grenzen 1 und 2.", 48, "Hinweis": Exit Sub
einfach versuchen.
Sam
Anzeige
AW: UserForm mit Grenzwerten
Erich
Hallo Sam,
danke - habe mich für einen Teil der Lösung von Nepumuk entschieden.
mfg
Erich
AW: UserForm mit Grenzwerten
31.05.2004 12:05:02
Nepumuk
Hallo Erich,
Textboxen liefern wie der Name schon sagt, Texte zurück den du erst in Zahlen umwandeln musst. Ich würde das so machen:


Private Sub UserForm_Click()
    Dim intIndex As Integer, varValue As Variant
    For intIndex = 1 To 6
        varValue = (Controls("TextBox" & CStr(intIndex)))
        If VarType(varValue) = vbDouble Then
            If varValue >= 0 Then MsgBox "Grenze " & CStr(intIndex) & " muss negativ sein.", 48, "Hinweis": Exit Sub
        Else
            MsgBox "Eintrag von Grenze " & CStr(intIndex) & " fehlt oder ist keine Zahl.", 48, "Hinweis": Exit Sub
        End If
    Next
    If CDbl(TextBox6.Text) > CDbl(TextBox5.Text) Then MsgBox "Bitte überprüfen Sie die Grenzen 5 und 6.", 48, "Hinweis": Exit Sub
    If CDbl(TextBox5.Text) > CDbl(TextBox4.Text) Then MsgBox "Bitte überprüfen Sie die Grenzen 4 und 5.", 48, "Hinweis": Exit Sub
    If CDbl(TextBox4.Text) > CDbl(TextBox3.Text) Then MsgBox "Bitte überprüfen Sie die Grenzen 3 und 4.", 48, "Hinweis": Exit Sub
    If CDbl(TextBox3.Text) > CDbl(TextBox2.Text) Then MsgBox "Bitte überprüfen Sie die Grenzen 2 und 3.", 48, "Hinweis": Exit Sub
    If CDbl(TextBox2.Text) > CDbl(TextBox1.Text) Then MsgBox "Bitte überprüfen Sie die Grenzen 1 und 2.", 48, "Hinweis": Exit Sub
End Sub


Gruß
Nepumuk
Anzeige
AW: UserForm mit Grenzwerten
31.05.2004 12:07:43
Nepumuk
Hallo Erich,
das ganze natürlich nicht in das Modul UserForm_Click, sondern in deines (Ich nehme an CommanButton_Click).
Gruß
Nepumuk
AW: UserForm mit Grenzwerten
Erich
Hallo Nepumuk,
besten Dank!
Der zweite Teil mit Überprüfung der Grenzwerte () funktioniert.
Im ersten Teil erhalte ich immer einen Hinweis mit MsgBox wie vorgegeben.
Habe es jetzt so gelöst:
erster Teil von mir mit ...&gt"0,001"
zweiter Teil von Dir: If CDbl...."
Läuft prima durch!!
Vielen Dank!!
mfg
Erich

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige