Ein Klick-Event mehrerer ComboBoxen

Outsider77

Erfahrenes Mitglied
Hallo zusammen!
Da in einem anderen Thread auf meine Frage nicht geantwortet wurde,
stelle ich jetzt hier eine ähnliche Frage:
Ich habe sehr viele ComboBoxen auf einer UserForm plaziert.
Für ComboBox 1-20 soll immer der selbe Code ausgeführt werden,
genauso für ComboBox 21-40 usw.
Gibt es eine Möglichkeit in VBA, für die ComboBox 1-20 das gemeinsame
Click-Event abzufangen, genauso für die ComboBox 21-40?
Ich habe irgendwo was gelesen, dass man das mittels Klassen-Modul
lösen könnte.
Wie in etwa müßte das dann aussehen?
Bin für jede Hilfe dankbar!
Gruß
 
L

luec

Schreib einfach in dem Modul ein Private sub und ruf das bei jedem Click event auf.

Ist zwar etwas spät, hoffe du kannst damit etwas anfangen.
 

Outsider77

Erfahrenes Mitglied
Hallo luec,
besser spät als nie...deswegen danke!
Hab es allerdings mittlerweile selber gelöst mittels den von mir angesprochenen Klassen.

Hier ein kurzer Ausschnitt:
Code:
Private Sub UserForm_Initialize()
Dim CoTb As Control, CoCb As Control, CoComb As Control, CoLab As Control, CoButt As Control
Dim InI As Integer

For Each CoComb In Me.Controls
    If TypeName(CoComb) = "ComboBox" Then
        ReDim Preserve cCombo(0 To InI)
        Set cCombo(InI).ComboBox = CoComb
        InI = InI + 1
    End If
Next CoComb
End Sub

In's Modul mdl_ComboBox
Code:
Option Explicit

Public cCombo() As New clsCombo

In's Klassenmodul clsCombo
Code:
Option Explicit

Public WithEvents ComboBox As MSForms.ComboBox

Private Sub ComboBox_Click()
'mein Code'
End Sub

Damit kann ich dann also jeden Klick aller ComboBoxen auf der Form abfangen.
Funktioniert dann mit anderen Aufrufen genauso, z.B.
Code:
Private Sub ComboBox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
'mein Code'
End Sub

Gruß Outi