Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Makros aus einem Standardmodul in ComboBox einlesen

Gruppe

Prozedur

Problem

Über Schaltflächenklick sollen die Makros eines Standardmoduls in die ComboBox eingelesen und bei Auswahl in der ComboBox aufgerufen werden.

Lösung
Geben Sie den Ereigniscode in die nachfolgend genannten Module ein.

ClassModule: Tabelle1

Private Sub cboMacros_Change()
   If cboMacros.Value = "" Then Exit Sub
   Run cboMacros.Value
End Sub

Private Sub cmdFillCbo_Click()
   Dim iRow As Integer
   cboMacros.Clear
   With ThisWorkbook.VBProject.VBComponents("basMain").CodeModule
      For iRow = 1 To .CountOfLines
         If .ProcOfLine(iRow, 0) > "" Then
            If .ProcBodyLine(.ProcOfLine(iRow, 0), 0) = iRow Then
               cboMacros.AddItem .ProcOfLine(iRow, 0)
            End If
         End If
      Next iRow
   End With
   MsgBox "Makros wurden eingelesen!"
End Sub
StandardModule: basMain

Sub Makro1()
   MsgBox "Ich bin Makro" & 1
End Sub

Sub Makro2()
   MsgBox "Ich bin Makro" & 2
End Sub

Sub Makro3()
   MsgBox "Ich bin Makro" & 3
End Sub

Sub Makro4()
   MsgBox "Ich bin Makro" & 4

    

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