Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1264to1268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Events dynamisch erzeugter Controls in UF abfangen

Events dynamisch erzeugter Controls in UF abfangen
Martin
Hallo liebe Excel-Profis,
wie kann ich für dynamisch erzeugte Controls (z.B. Textboxen) das Enter-Event abfangen? Mein Ziel ist es, dass der OptionButton immer in der Zeile aktiv ist, in der ein Control (hier TextBox) aktiv ist. Die Controls werden am Ende stets mit der entsprechenden Zeile benannt (z.B. "txtNachname_2" für TextBox in Zeile 2 und "optSel_2" für OptionButton in Zeile 2). Hier die Datei: https://www.herber.de/bbs/user/80449.xls
Hier ein Screenshot, das mein Anliegen verdeutlicht:
Userbild
Für Vorschläge bin ich sehr dankbar.
Viele Grüße
Martin
AW: Events dynamisch erzeugter Controls in UF abfangen
06.06.2012 15:47:16
Rudi
Hallo,
Event-Handler für dynamisch erzeugte Controls musst du in einer eigenen Klasse definieren. Hier stehen aber nicht alle Events zur Verfügung. Dazu gehören auch Enter, Exit, AfterUpdate, Beforeupdate.
Du hast also keine Chance.
Zu Klassen siehe http://www.online-excel.de/excel/grusel_vba.php?f=7
Gruß
Rudi
...und gibt es eine statische Lösung?
06.06.2012 15:57:38
Martin
Hallo Rudi,
vielen Dank für die schnelle Antwort. Scheinbar werden beim Laden vor dem Initialize-Event der UserForm alle Control-Events auf bestehendes Control geprüft, denn selbst statisch werden die Events der dynamisch generierten Controls ignoriert:
Private Sub txtNachname_1_Enter()
MsgBox "FokusTextBox 1"
End Sub
Private Sub txtNachname_2_Enter()
MsgBox "FokusTextBox 2"
End Sub
Oder siehst du hier noch irgendeine Möglichkeit?
Viele Grüße
Martin
Anzeige
AW: ...und gibt es eine statische Lösung?
06.06.2012 16:02:15
Rudi
Hallo,
Code vorschreiben nützt nichts.
Falls es eine übersichtliche Anzahl ist, könntest du deine Controls schon einbauen und nur .Visible auf False setzen. Je nach Bedarf blendest du sie ein und passt die Größe der UF an.
Gruß
Rudi
letzter Versuch mit dem "MouseDown"-Ereignis
06.06.2012 16:12:21
Martin
Hallo Rudi,
nochmals Danke! Noch habe ich nicht ganz aufgegeben: Das "MouseDown"-Ereignis würde mir eigentlich schon ausreichen. Ich habe es mit einer Klasse jetzt noch nicht ausprobiert. Kann ich mir den Versuch gleich sparen oder würden die dynamisch erzeugten Controls über ein Klassenmodul das "Mouse-Event" auslösen? (Wenn das auch nicht klappt, mache ich es wohl wie von dir vorgeschlagen).
Viele Grüße
Martin
Anzeige
AW: letzter Versuch mit dem "MouseDown"-Ereignis
06.06.2012 16:18:40
Martin
Hallo Rudi,
leider muss ich jetzt weg. Falls du mir noch antwortest, werde ich mich nach 18 Uhr zurückmelden. Nochmals vielen Dank für deine Unterstützung!
Viele Grüße
Martin
AW: letzter Versuch mit dem "MouseDown"-Ereignis
06.06.2012 16:28:16
Rudi
Hallo,
MouseDown/ Up geht.
Ebenso Change, Keypress, Keydown, DblClick und noch ein paar.
Gruß
Rudi
Vielen Dank, mit Klassenmodul klappt es!
06.06.2012 18:01:22
Martin
Hallo Rudi,
eine Kombination aus dem KeyUp- und dem MouseDown-Ereignis ergeben zusammen eigentlich das "Enter"-Ereignis. Nun klappt alles wie gewünscht, vielen Dank für deine Hilfe!
Viele Grüße
Martin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige