Una vez que comience a escribir macros de Excel, es fácil obtener algunas de ellas en un libro de trabajo. En algún momento, es posible que desee generar una lista de macros en su libro de trabajo. No existe una forma intrínseca dentro de Excel para crear una lista de macros. Sin embargo, puede crear una macro que enumere sus macros. (Suena algo redundante, ¿no?)

Como ejemplo, considere la siguiente macro, que recorre todos los proyectos de su libro de trabajo para recopilar todos los nombres de las macros y colocarlos en una hoja de trabajo:

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

Para utilizar esta macro, debe asegurarse de tener el conjunto de referencias de extensibilidad de Microsoft VBA. Para hacer esto, siga estos pasos:

  1. En el Editor de VBA, elija Referencias en el menú Herramientas. Se muestra el cuadro de diálogo Referencias. (Ver figura 1)

  2. Desplácese por la lista de referencias disponibles y asegúrese de que la casilla de verificación Extensibilidad de Microsoft Visual Basic para aplicaciones esté seleccionada.

  3. Cierre el cuadro de diálogo.

Cuando ejecuta la macro, agrega una nueva hoja de trabajo a su libro de trabajo y luego enumera los nombres de todas las macros en todos los módulos del libro de trabajo.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2715) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Generating_a_List_of_Macros [Generando una lista de macros].