Sobald Sie mit dem Schreiben von Excel-Makros beginnen, ist es einfach, einige davon in eine Arbeitsmappe aufzunehmen. Irgendwann möchten Sie möglicherweise eine Liste von Makros in Ihrer Arbeitsmappe erstellen. In Excel gibt es keine Möglichkeit, eine Liste von Makros zu erstellen. Sie können jedoch ein Makro erstellen, in dem Ihre Makros aufgelistet sind. (Klingt überflüssig, nicht wahr?)

Betrachten Sie als Beispiel das folgende Makro, das alle Projekte in Ihrer Arbeitsmappe durchläuft, um alle Makronamen zu sammeln und in ein Arbeitsblatt einzufügen:

Sub ListMacros()

Dim VBComp As VBComponent     Dim VBCodeMod As CodeModule     Dim oListsheet As Object     Dim StartLine As Long     Dim ProcName As String     Dim iCount As Integer

Application.ScreenUpdating = False     On Error Resume Next     Set oListsheet = ActiveWorkbook.Worksheets.Add     iCount = 1     oListsheet.[a1] = "Macro"



For Each VBComp In ThisWorkbook.VBProject.VBComponents         Set VBCodeMod = ThisWorkbook.VBProject.VBComponents(VBComp.Name).CodeModule         With VBCodeMod             StartLine = .CountOfDeclarationLines + 1             Do Until StartLine >= .CountOfLines                 oListsheet.[a1].Offset(iCount, 0).Value = _                   .ProcOfLine(StartLine, vbext_pk_Proc)

iCount = iCount + 1

StartLine = StartLine + _                   .ProcCountLines(.ProcOfLine(StartLine, _                    vbext_pk_Proc), vbext_pk_Proc)

Loop         End With         Set VBCodeMod = Nothing     Next VBComp

Application.ScreenUpdating = True End Sub

Um dieses Makro verwenden zu können, müssen Sie sicherstellen, dass Sie über den Microsoft VBA-Erweiterungsreferenzsatz verfügen. Gehen Sie dazu folgendermaßen vor:

  1. Wählen Sie im VBA-Editor im Menü Extras die Option Referenzen. Das Dialogfeld Referenzen wird angezeigt. (Siehe Abbildung 1.)

  2. Scrollen Sie durch die Liste der verfügbaren Referenzen und stellen Sie sicher, dass das Kontrollkästchen Erweiterbarkeit von Microsoft Visual Basic für Applikationen aktiviert ist.

  3. Schließen Sie das Dialogfeld.

Wenn Sie das Makro ausführen, fügt es Ihrer Arbeitsmappe ein neues Arbeitsblatt hinzu und listet dann die Namen aller Makros in allen Modulen in der Arbeitsmappe auf.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2715) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: