Una volta che inizi a scrivere macro di Excel, è facile ottenerne un bel po ‘in una cartella di lavoro. Ad un certo punto potresti voler generare un elenco di macro nella tua cartella di lavoro. Non esiste un modo intrinseco in Excel per creare un elenco di macro. Tuttavia, puoi creare una macro che elencherà le tue macro. (Sembra ridondante, vero?)

Ad esempio, considera la seguente macro, che passa attraverso tutti i progetti nella cartella di lavoro per raccogliere tutti i nomi delle macro e inserirli in un foglio di lavoro:

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

Per utilizzare questa macro, è necessario assicurarsi di disporre del set di riferimenti all’estendibilità Microsoft VBA. Per fare ciò, segui questi passaggi:

  1. Nell’editor VBA, scegli Riferimenti dal menu Strumenti. Viene visualizzata la finestra di dialogo Riferimenti. (Vedi figura 1.)

  2. Scorri l’elenco dei riferimenti disponibili e assicurati che la casella di controllo Estendibilità di Microsoft Visual Basic, Applications Edition sia selezionata.

  3. Chiudi la finestra di dialogo.

Quando si esegue la macro, aggiunge un nuovo foglio di lavoro alla cartella di lavoro e quindi elenca i nomi di tutte le macro in tutti i moduli della cartella di lavoro.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2715) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: