HERBERS Excel-Forum - das Archiv

Thema: Textbox ansprechen

Textbox ansprechen
Holly
Hallo liebes Forum,

ich habe in einer userform viele Textboxen und muss in Sub's jede Textbox "einzeln ansprechen.
z.B.
Private Sub TextBox2_Change()
Me.TextBox2.ControlTipText = Me.TextBox2
end sub

Ist es möglich statt "Textbox2,3 ,4, usw." zu schreiben die Textbox mit Me. oder ähnlich (einfacher aus der eigenen Sub) anzusprechen?
Die "Ansprache" erfolgt ja jeweils immer in der sub textboxX_change() selbst



vielen Dank und Gruss

Holly

AW: Textbox ansprechen
schauan
Hallöchen,

hier mal die Richtung:

Me.Controls("Textbox" & icnt)
AW: Textbox ansprechen
daniel
Hi
in Events, die nur ausgelöst werden können wenn das Element auch den Focus hat, kann ggf. den Ausdruck AcitveControl verwenden.

ansonsten wäre der Workaround, vor allem wenn du viele sehr ähnliche Makros hast, folgender:
- man lagert die Aktionen in ein eigens Makro aus und übergibt das Steuerelement als Parameter, hier ist es dann eine Variable, dh der Code braucht bei geändertem Steuerelement nicht geändert werden, also in etwa so

1. die eigenständige Sub:
Private Sub meinTextboxChange(crt as control)

crt.ControlTipText = crt.text
end Sub


2. im echten Eventmakro dann nur noch:
Private Sub TextBox2_Change()

call meinTextboxChange(Textbox2)
end sub

dann muss man die Anpassung nur an einer Stelle machen und nicht an mehreren.


- die Profivariante wäre Klassenprogrammierung.
aber da bin ich draußen, das übersteigt meinen Kenntnisstand.

Gruß Daniel

AW: Textbox ansprechen
Holly
perfekt Daniel, vielen Dank!