Frage zu VBA Code zweier TextBoxen in einer UF?
07.03.2006 10:50:53
Oliver
Ich habe folgendes Problem. In meiner Datei habe ich eine UserForm erstellt. Diese beinhaltet ein Frame, in der sich zwei TextBoxen befinden und noch ein weiteres Frame, in dem sich zwei CommandButton befinden. In den TextBoxen können die Daten mit einem Zeilenumbruch eingegeben werden. Bei beiden TextBoxen sind die Multiline-Eigenschaften auf True eingestellt. Damit man nicht immer mit beim Zeilenumbruch die Tastenkombination Umschalt & Enter betätigen muss, setze ich den nachfolgenden Code ein.
Option Explicit
Dim InLaenge As Integer
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1) = InLaenge Then Exit Sub
TextBox1 = TextBox1 & Chr(13)
InLaenge = Len(TextBox1)
Cancel = True
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox2) = InLaenge Then Exit Sub
TextBox2 = TextBox2 & Chr(13)
InLaenge = Len(TextBox2)
Cancel = True
End Sub
Mit dem Code wird der Zeilenumbruch beim Betätigen der Entertaste erzeugt. Allerdings nur bei einem Textfeld, obwohl der Code für beiden TextBoxen angegeben wurde. Schreibe ich also in TextBox1 einen Text und betätige die Entertaste, wird mir ein Zeilenumbruch erzeugt. Mache ich das gleiche bei TextBox2, wird mir aber leider kein Zeilenumbruch erzeugt, sondern mit Betätigen der Entertaste verliert die TextBox2 den Focus und der Focus wechselt, wie auch normalerweise üblich, zu einem CommandButton in dem 2. Frame. Füge ich nun in dem 1. Frame eine weitere TextBox, also TextBox3, ein, funktioniert auch der VBA Code in der 2. TextBox so wie er soll, also bei Enter wird ein Zeilenumbruch erzeugt. Warum ist das so? Hat da jemand eine Erklärung und was mir eigentlich noch wichtiger ist, eine Lösung? Ich wäre Euch sehr dankbar, wenn da jemand einen Tip hat.
Vorab schon mal besten Dank für Eure Hilfe,
Oliver S.