Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Problem bei Exit- Ereignis einer TextBox
08.10.2006 17:12:54
Kasimir
Hallo Leute,
ich tüftele schon eine ganze Weile an einem Problem herum und komme nicht dahinter. Ich habe in einem Tabellenblatt, hier genau in Zelle G15 und E14, Werte zu stehen. Dann habe ich eine UserForm, in der sich ein Textfeld befindet. Nun möchte ich nachdem in diesem Textfeld eine Eingabe erfolgte, dass geprüft wird, das wenn der Wert in dem Textfeld ein Minusbetrag ist, dieser nicht höher sein darf als das Ergebnis Zelle G15 – E14. Ich habe dazu nachfolgenden Code im Exit- Ereignis des Textfeldes. Das funktioniert teilweise auch ganz gut, aber nur teilweise. Nehmen wir mal an, das Ergebnis der Berechnung Zelle G15 – Zelle E14 ergibt einen Wert von 7.275,15 €, dann müsste bei einem Wert, der kleiner dem Wert -7.275,15 eine Meldung erscheinen. Das funktioniert auch. Gebe ich in das Textfeld die Zahl -7.276 ein oder die Zahl -8.000 erscheint auch meine Messagebox. Gebe ich aber z.B. -10.000 oder -15.000 ein, erhalte ich keine Messagebox, obwol der Wert kleiner 7.275,15 € ist. Hat jemand eine Erklärung, warum das so ist, denn ich komme nicht dahinter. Also hier noch der Code, der im Exit- Ereignis der TextBox steht:


    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Wert_Eingabe As Variant, Wert_Prüfung As Variant
    
    Wert_Eingabe = Format(TextBox1, "#,##0.00")
    
    Wert_Prüfung = Format((Sheets("Berechnung").Range("G14") - _
    Sheets("Berechnung").Range("E14")) * -1, "#,##0.00")
   
    'Auswertung ob Eingabe in Feld "Sondertilgungsbetrag" numerisch
    If Wert_Eingabe = "" Then TextBox1.Text = 0
    If Not IsNumeric(Wert_Eingabe) Then
    TextBox1 = 0
    End If
    TextBox1 = Format(TextBox1, "#,##0.00")
    
    If Wert_Eingabe < 0 And Wert_Eingabe > Wert_Prüfung Then
    
    MsgBox "Die gesmate Summe der Entnahme darf maximal """ & _
    Wert_Prüfung & " Euro"" betragen.", vbInformation, "Fehler..."
    
    With TextBox1
    .Text = 0
    .SelStart = 0
    .SelLength = Len(TextBox1)
    End With
    End If
    Exit Sub
    End Sub


Ich hoffe, jemand kann mir da weiterhelfen oder entdeckt einen Fehler in obigem Code. Danke Euch und Gruß,
Kasimir

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem bei Exit- Ereignis einer TextBox
09.10.2006 10:36:30
Reinhard
Hi Kasimir,
für was formatierst du Wert_Eingabe? Wird doch nicht angezeigt, also kannste das Format weglassen.
Bau mal
MsgBox TypeName(Wert_Eingabe)
ein. dann weißt du warum es falsch läuft.
Kannst du die Logik nicht umstellen so dass man die Entnahme ohne Vorzeichen eingibt? Wozu immer Minus eingeben?
Nur grob getestet, may be, Wert_Prüfung = ... mss noch geäbdert werden.
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Wert_Eingabe As Double, Wert_Prüfung As Double
Dim Meldg As String
On Error GoTo Fehler
With TextBox1
Wert_Eingabe = CDbl(.Value)
Wert_Prüfung = CDbl(Sheets(1).Range("E14") - Sheets(1).Range("G14"))
'Auswertung ob Eingabe in Feld "Sondertilgungsbetrag" numerisch
If Not IsNumeric(Wert_Eingabe) Then .Value = 0
.Value = Format(.Value, "#,##0.00")
If Wert_Eingabe < 0 And Wert_Eingabe > Wert_Prüfung Then
MsgBox "Die gesamte Summe der Entnahme darf maximal " & Chr(34) & _
Wert_Prüfung & Chr(34) & " Euro betragen.", vbInformation, "Fehler..."
.Text = 0
.SelStart = 0
.SelLength = Len(.Value)
End If
End With
Exit Sub
Fehler:
MsgBox "something wrong"
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige