Generazione di un elenco di macro (Microsoft Excel)
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:
-
Nell’editor VBA, scegli Riferimenti dal menu Strumenti. Viene visualizzata la finestra di dialogo Riferimenti. (Vedi figura 1.)
-
Scorri l’elenco dei riferimenti disponibili e assicurati che la casella di controllo Estendibilità di Microsoft Visual Basic, Applications Edition sia selezionata.
-
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: