Generazione di un elenco di macro (Microsoft Excel)
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:
-
Nell’editor VBA, scegli Riferimenti dal menu Strumenti. Viene visualizzata la finestra di dialogo Riferimenti.
-
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.)
-
Chiudi la finestra di dialogo.
Dovrai anche apportare una rapida modifica alle impostazioni del Centro protezione.
Segui questi passaggi:
-
Visualizza il scheda sviluppatore della barra multifunzione.
-
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.)
-
Assicurati che l’opzione Considera attendibile l’accesso al modello a oggetti del progetto VBA sia selezionata.
-
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: