Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

ComboBox mit Ereigniscode in Tabellenblatt erstellen

Gruppe

Tabelle

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

    

Beiträge aus dem Excel-Forum zu den Themen VBE und Tabelle