Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1788to1792
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
Klassenmodul: Enter-Event für Textbox
24.10.2020 16:58:39
Johannes
Hallo zusammen,
Frage an die Klassenmodul-Profis :-)
In meiner Klasse clsTextBox würde ich gerne ein Enter-Event für Textboxen in einer Userform definieren. Mein Code sieht bis dato folgendermaßen aus:

Klassemodul
Public WithEvents p_TextBox As MSForms.Control
Private Sub p_TextBox_Enter()
' Mein Code
End Sub
Initialize-Event der Userfom:

Public col                  As Collection
Private Sub UserForm_Initialize()
Dim ctrl As MSForms.Control
Dim instTextBox As clsTextBox
Set col = New Collection
For Each ctrl In UserForm1.Controls
If TypeName(ctrl) = "TextBox" Then
Set instTextBox = New clsTextBox
Set instTextBox.p_TextBox = ctrl
col.Add instTextBox
End If
Next ctrl
End Sub
Beim Aufruf der Userform bekomme ich allerdings einen Laufzeitfehler 459: Objekt oder Klasse unterstützt diese Ereignismenge nicht.
Vielleicht hat jemand eine Lösung :-) Vielen Dank im Voraus.
Johannes

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Klassenmodul: Enter-Event für Textbox
24.10.2020 17:22:53
Nepumuk
Hallo Johannes,
in Klassenmodulen ist es grundsätzlich nicht möglich ein Enter- oder Exit-Events abzufangen, denn in der Klasse ist das verlassene Control bzw. das Control welches neu den Fokus erhält nicht bekannt.
Gruß
Nepumuk
AW: Klassenmodul: Enter-Event für Textbox
24.10.2020 17:43:31
Johannes
Hi Nepumuk,
danke für deine schnelle Antwort.
Das ist komisch. Ich hatte das bereits einmal genau in dieser Form mit einem Label gemacht, dort allerdings logischerweise nicht mit dem Enter sondern mit dem Click-Event und das funktionierte tadellos. Und durch die Public Collection in der ich die Steuerelement speichere ist ja gewährleistet, dass diese die ganze Zeit bekannt sind, solange die Userform geöffnet ist. BTW wird mir für die Variable p_TextBox im VBE sogar das Enter-Event in dem Dropdown oben rechts angeboten.
...so ganz glaube ich das noch nicht :-)
Anzeige
AW: Klassenmodul: Enter-Event für Textbox
24.10.2020 17:51:26
Nepumuk
Hallo Johannes,
eine TextBox in einem Klassenmodul ist wie eine einzige TextBox auf einem UserForm. Da gibt es auch kein Enter- oder Exit-Event.
Ich hab mal eine DLL geschrieben mit der das geht. Funktioniert aber nur in einem 32Bit Excel und muss auf jedem Rechner registriert werden auf dem sie laufen soll. Interesse?
Gruß
Nepumuk
AW: Klassenmodul: Enter-Event für Textbox
24.10.2020 18:07:34
Johannes
Hi,
nochmals danke :-)
Danke für das Angebot, aber ich brauch das jetzt nicht akut. Das war gerade mehr so aus Neugier und Interesse. Aber gerade weil ich mich auch seit geraumer Zeit anderen Sprachen wie z.B. C# widme, fällt mir bei VBA immer mehr auf wie beschränkt man teilweise hier ist. Ist natürlich auch schon bisschen in die Jahre gekommen und wird ja auch nicht mehr weiterentwickelt, aber deshalb war ich umso erstaunter, dass viele Sachen in "größeren" Sprachen wesentlich leichter von der Hand gehen, als in VBA. Hatte eher immer das Gegenteil angenommen...
Anzeige
AW: Klassenmodul: Enter-Event für Textbox
24.10.2020 20:02:07
onur
"fällt mir bei VBA immer mehr auf wie beschränkt man teilweise hier ist. Ist natürlich auch schon bisschen in die Jahre gekommen" - VBA ist nun mal die MAGERVERSION von VB, und VB hat diese Funktionalität mit ControlArrays IMMER schon gehabt.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige