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