Gruppe
VBE
Bereich
Tabelle
Thema
ComboBox mit Ereigniscode in Tabellenblatt erstellen
Problem
Im aktiven Blatt soll eine neue ComboBox mit zugeordnetem Ereigniscode erstellt werden.
Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
ClassModule: Tabelle1
Private Sub ComboBox1_Change()
MsgBox "Der Monat " & ComboBox1.Text & " wurde ausgewählt!"
End Sub
StandardModule: Modul1
Sub NewComboBox()
Dim chb As OLEObject
Dim iCounter As Integer
Dim sCode As String
Set chb = ActiveSheet.OLEObjects.Add( _
ClassType:="Forms.ComboBox.1", _
Width:=100, _
Height:=20, _
Top:=100, _
Left:=200)
For iCounter = 1 To 12
chb.Object.AddItem Format(DateSerial(1, iCounter, 1), "mmmm")
Next iCounter
sCode = "Private Sub ComboBox1_Change()" & vbLf
sCode = sCode & " Msgbox ""Der Monat "" & " & _
"ComboBox1.Text & "" wurde ausgewählt!""" & vbLf
sCode = sCode & "End Sub" & vbLf
With ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).codemodule
.AddFromString sCode
End With
ActiveCell.Select
End Sub