VBA Control selbst ansprechen
#1
Hallo miteinander,

gibt es in VBA eigentlich die Möglichkeit, ein Control auf einem Userform kürzer als mit dem Eigennamen anzusprechen? Beispiel:
Code:
Sub Checkbox1_Click()
If Checkbox1 = True Then
...
End If
End Sub

Ich finde es sehr umständlich, den Eigennamen bei der If-Abfrage zu verwenden. Geht das kürzer, also so wie
Code:
If Me = True Then
Habe online nichts dazu gefunden bzw. nicht die richtigen Suchworte :)
Schöne Grüße
Berni
Top
#2
Eine kürzere Codename könnte auch behilflich sein:


Code:
Private Sub C_01_Click()
   if C_01 then msgbox "Wahr"
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#3
Hallo Berni,

es gibt das ActiveControl. Wenn es sich aber in einem Frame, einer MultiPage oder einem Register  befindet, gibt es diese(s) entsprechend zurück. Dann müsste man es entsprechend referenzieren wie Frame1.ActiveControl.

Gruß Uwe
Top
#4
@snb: Das ist schon klar, aber löst das eigentliche Problem nicht, wenn man mehrere solcher Controls hat. Dann muss ich nämlich bei jedem immer den Indikator anpassen, was bei mehreren Controls ziemlich öd ist :)

@Uwe: Das ist es, vielen Dank!
Schöne Grüße
Berni
Top
#5
Dann wäre eine Klasse mit withevents zu bevorzügen.

https://www.snb-vba.eu/VBA_Userform_invo...le_en.html
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#6
Leider übersteigt das mein VBA Wissen bei Weitem und mir fehlt für diese Weiterbildung die Zeit, Kraft und ehrlich gesagt auch die Motivation. Ich kann das Gelernte beruflich nicht gebrauchen, nur im Forum. Das ist mir derzeit zuwenig Anreiz. Dennoch danke für deinen Hinweis!  :100:
Schöne Grüße
Berni
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste