VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Aufzurufenden Makronamen während der Laufzeit aus Zelle entnehmen

Gruppe

VBE

Bereich

Prozedur

Thema

Aufzurufenden Makronamen während der Laufzeit aus Zelle entnehmen

Problem

Wie kann ich während der Laufzeit zu einem Makro verzweigen, dessen Name in Zelle A1 steht?

Lösung

Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.




ClassModule: Tabelle1

Private Sub cdmAufruf_Click()
  Call AufrufStarten
End Sub

StandardModule: basMain

Sub AufrufStarten()
   Dim lRow As Long
   Dim sTxt As String
   sTxt = "  Call " & Range("A1").Value
   With ThisWorkbook.VBProject.vbcomponents("basMain").CodeModule
      lRow = .ProcBodyLine("Aufruf", 0) + 1
      MsgBox "Makroname wird im Aufruf-Makro eingesetzt!"
      .replaceline lRow, sTxt
      Call Aufruf
      MsgBox "Makroname wird im Aufruf-Makro gelöscht!"
      .replaceline lRow, "  'Hier wird der Code temporär eingefügt"
   End With
End Sub

Private Sub Aufruf()
   'Hier wird der Code temporär eingefügt
End Sub

Private Sub MeinMakro()
   MsgBox "Ich bin " & Range("A1")
End Sub

    


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