Hallo liebe Leute,
ich bin ein Anfänger in VBA und folgendes Problem:
Ich möchte über 100 Spalten hinweg jeweils den gleichen Filter anhand von Comboboxen schreiben.
Ich habe herrausgefunden, wie VBA mir diese automatisch erstellt und an die Größe der Zelle anpasst:
(Habe zu Testzwecken noch keine 100 Boxen generiert, nur 7)
Sub NewCboBox1(i)
Dim rngZelle As Range
Set rngZelle = Cells(13, i)
Cells(13, i).Select
Set cbo = ActiveSheet.OLEObjects.Add( _
ClassType:=„Forms.ComboBox.1“, _
Link:=False, _
DisplayAsIcon:=False, _
Left:=Range(Cells(rngZelle.Row, 1), _
Cells(rngZelle.Row, rngZelle.Column - 1)). _
Width, _
Top:=Range(Cells(1, rngZelle.Column), _
Cells(rngZelle.Row - 1, rngZelle.Column)). _
Height, _
Width:=rngZelle.Width + 1, _
Height:=rngZelle.Height + 1).Object
End Sub
Sub erstelle_kombi()
For i = 26 To 32
NewCboBox1 (i)
Next i
End Sub
Auch habe ich die automatische beschriftung beim Start hinbekommen:
Private Sub Workbook_Open()
For i = 121 To 124 ’ 121-124 sind die indexe der Boxen
Set cbo2 = Worksheets(„Content_Liste“).OLEObjects.Item(i).Object
cbo2.List = _
Array(„all“, „red“, „blue“, „yellow“, „green“, „empty“)
Next i
nun stellt sich die Frage, wie ich zu den automatischen Einträgen auch die entsprechenden Makro’s zuweise.
Beim googln bin ich darauf gestoßen, dass man Klassenmodule erstellen soll. Das bekomme ich einfach nicht hin.
Ich brauche echt Hilfe!
Danke im Vorraus