Andrew ha una cartella di lavoro che contiene un buon numero di macro. Vorrebbe generare un elenco di tutte le macro che contiene, quindi si chiede se esiste un modo per eseguire l’operazione.

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 wsTarget As Worksheet     Dim StartLine As Long     Dim iRow As Integer

Application.ScreenUpdating = False

Set wsTarget = Worksheets.Add     wsTarget.Range("A1") = "Macro"

wsTarget.Range("A1").Font.Bold = True     With wsTarget.Range("A1").Borders(xlEdgeBottom)

.LineStyle = xlContinuous         .ColorIndex = 0         .TintAndShade = 0         .Weight = xlThin     End With

iRow = 2

For Each VBComp In ThisWorkbook.VBProject.VBComponents         With VBComp.CodeModule             StartLine = .CountOfDeclarationLines + 1             Do Until StartLine >= .CountOfLines                 wsTarget.Cells(iRow, 1) = _                   .ProcOfLine(StartLine, vbext_pk_Proc)

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

Loop         End With     Next VBComp

wsTarget.Range("A1").EntireColumn.AutoFit     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.

  2. Scorri l’elenco dei riferimenti disponibili e assicurati che la casella di controllo Estendibilità di Microsoft Visual Basic, Applications Edition sia selezionata. (Potrebbe esserci un numero di versione alla fine del riferimento, ma dovrebbe iniziare con le parole annotate.) (Vedi figura 1.)

  3. Chiudi la finestra di dialogo.

Dovrai anche apportare una rapida modifica alle impostazioni del Centro protezione.

Segui questi passaggi:

  1. Visualizza il scheda sviluppatore della barra multifunzione.

  2. Nel gruppo Codice fare clic sullo strumento Protezione macro. Excel visualizza la finestra di dialogo Centro protezione con le opzioni Impostazioni macro selezionate a sinistra. (Vedi figura 2.)

  3. Assicurati che l’opzione Considera attendibile l’accesso al modello a oggetti del progetto VBA sia selezionata.

  4. Fare clic su OK.

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 (5225) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: