Der ewige Kampf mit TxtBoxen
19.07.2015 12:40:09
P-Quest
Ich verwende in einen Userform eine Textbox (txtMenge) in der nur Zahlen zugelassen sein sollen. Mit diesem Wert wird dann in einer weiteren Textbox (txtWert) eine Berechnung durchgeführt.
Später werden die Daten per CmdButton in eine Tabelle geschrieben.
Ich kämpfe jetzt gerade mit der unverträglichkeiten der Typen in der ersten IF Anweisung, die immer dann als Fehler auftaucht, wenn ich keine Eingabe in txtMenge mache oder einen Text eingebe.
Mein Fehler liegt wohl daran, dass ich noch nicht richtig damit klarkomme, wann denn nun mit Text und wann mit Zahl (also mit in Zahl umgewandelten Text) gearbeitet werden muss.
Ich hatte das ganze schon mal so hinbekommen, dass die Fehlermeldung wie gewollt abgearbeitet wurde, dann gab es aber ein Problem mit dem VLookup, weil auch hier eine Typunverträglichkeit angezeigt wurde.
Kann mir da mal jemand auf die Sprünge helfen?!
Private Sub txtMenge_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txtMenge = Trim(txtMenge.Value)
If Not IsNumeric(txtMenge.Value) And txtMenge "" Or CByte(txtMenge.Value) = 0 Then
Cancel = True
If Not UFCloseMode Then MsgBox "Bitte geben Sie einen Wert größer 0 ein!", vbCritical, " _
Falsche Eingabe : " & UFCloseMode
txtMenge.Value = ""
Else
txtWert.Value = WorksheetFunction.VLookup(cbID.Value, Worksheets("Stammdaten").ListObjects(" _
Stammdaten").DataBodyRange, 11, False) * txtMenge.Value
txtWert.Value = Format(txtWert.Value, "####0.00 ")
End If
End Sub