Hi Ihr!
auch hier habe ich mal ein Problem wo ich nicht weiuter komme.
Beispiel:
ich habe eine Userform erstellt die durch Eingabe von Zahlen in 2 Textboxen das Ergebnis in der 3. Textbox wiedergibt.
Dabei sind die einzelnen Boxen mit den Zellen auf der Mappe verknüpft, welche die Berechnung durchführt:
A1 'Eingabefeld von Texbox 1
B1 'Eingabefeld von Texbox 2
C1 ' Summe von A1+B1, welche in der Textbox3 wieder gegeben wird.
dies funktioniert soweit auch.
Ich habe sogar als unwissender das hinbekommen, dass keine Buchstaben anstatt Zahlen eingeben wewrden können. Da es sonst zur Makrofehlermeldung kommt, da C1 einen ungültigen Wert erhält "=Wert"
Code:
1 2 3 4 5 6 7 8 9 10 11 | Private Sub TextBox1_Change()
Range( "Codeblatt!A1" ) = TextBox1
TextBox3 = Worksheets( "Codeblatt" ).Range( "C1" ).Value
End Sub
Private Sub TextBox1_KeyPress( ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
|
Nun ist das Problem, dass wenn ich im Feld mit der zuvor eingegebenen Zahl gehe (Cursor) und ich dann DEL drücke wieder zur Makrofehlermeldung. Dies kann ich dann nur beheben, wenn ich auf das Codeblatt gehe und in diesem Fall bei A1 wieder eine Zahl eintrage.
Dieses Blatt ist aber nur für mich als Esteller sichtbar. Es arbeiten aber noch andere User damit.
Dahere die Frage wie kann ich es verhindern, dass andere Eingaben ausser Zahlen eingeben werden können?
Zweite Frage:; wie kann man die Makrofehlermeldung allgemein abfangen ohne das der User die Meldung von einem Fehler im MArko etc erhält?
Danke Baerlina
|