Skip to main content

¿Cómo ejecutar varias macros desde el menú de clic derecho en Excel?

Author: Xiaoyang Last Modified: 2025-06-04
run multiple macros from right click menu

Si hay varias macros VBA en su libro de trabajo, debe abrir la ventana de VBA y luego seleccionar la macro cuando necesite ejecutar el código. En este artículo, me gustaría hablar sobre cómo ejecutar macros desde el menú de clic derecho para hacer que su trabajo sea más eficiente, como se muestra en la captura de pantalla de la izquierda.

Ejecutar múltiples macros desde el menú de clic derecho con códigos VBA


Ejecutar múltiples macros desde el menú de clic derecho con códigos VBA

Para ejecutar los códigos de macros dentro de un libro de trabajo desde el menú de clic derecho, los siguientes pasos pueden ayudarlo, por favor haga lo siguiente:

1. Mantenga presionadas las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Luego, haga doble clic en ThisWorkbook en el panel Proyecto de la izquierda, y luego copie y pegue el siguiente código VBA en el módulo en blanco.

Private Sub Workbook_Open()
Run "LoadMacro"
End Sub
Private Sub Workbook_Activate()
Run "LoadMacro"
End Sub
Private Sub Workbook_Deactivate()
Run "ClearMacro"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Run "ClearMacro"
ThisWorkbook.Save
End Sub

paste code into the ThisWorkbook module

3. Todavía en la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo, y pegue el siguiente código en este módulo.

Private Sub LoadMacro()
Dim xArrMenu As Variant
Dim xStrLine, xSreBtnName As String
Dim xObjCBCF, xObjCntrAll As CommandBarControl
Dim xObjCBCs As CommandBars
Dim xObjCBBtn As CommandBarButton
Dim xIntLine, xFNum As Integer
Dim xObjComponent As Object
Run "ClearMacro"
Set xObjCBCF = Application.CommandBars("Cell").Controls.Add(msoControlPopup, before:=1)
xObjCBCF.Caption = " Run Macro "
xObjCBCF.BeginGroup = False
For Each xObjComponent In ActiveWorkbook.VBProject.VBComponents
    If xObjComponent.Type = 1 Then
        For xIntLine = 1 To xObjComponent.CodeModule.CountOfLines
        xStrLine = xObjComponent.CodeModule.Lines(xIntLine, 1)
        xStrLine = Trim(xStrLine)
            If (InStr(xStrLine, "()") > 0) And (Left(xStrLine, 11) = "Private Sub" Or Left(xStrLine, 3) = "Sub") Then
            xSreBtnName = ""
            If "Private Sub" = Left(xStrLine, 11) Then
                xSreBtnName = Trim(Mid(xStrLine, 12, InStr(xStrLine, "()") - 12))
            ElseIf "Sub" = Left(xStrLine, 3) Then
               xSreBtnName = Trim(Mid(xStrLine, 4, InStr(xStrLine, "()") - 4))
            End If
            If xSreBtnName <> "" And xSreBtnName <> "RightClickReset" And xSreBtnName <> "LoadMacro" And xSreBtnName <> "ActionMacro" Then
                Set xObjCBBtn = xObjCBCF.Controls.Add
                With xObjCBBtn
                    .FaceId = 186
                    .Style = msoButtonIconAndCaption
                    .Caption = xSreBtnName
                    .OnAction = "ActionMacro"
                End With
            End If
            End If
        Next xIntLine
    End If
Next xObjComponent
End Sub
Private Sub ClearMacro()
On Error Resume Next
CommandBars("Cell").Controls(" Run Macro ").Delete
Err.Clear
CommandBars("Cell").Reset
End Sub
Private Sub ActionMacro()
On Error GoTo Err1
With Application
Run .CommandBars("Cell").Controls(1).Controls(.Caller(1)).Caption
End With
Exit Sub
Err1:
    MsgBox "Invalid"
End Sub

paste code into the normal module

4. Después de pegar los códigos, haga clic en Herramientas > Referencias, y aparecerá un cuadro de diálogo Referencias-VBAProject, y luego marque la opción Microsoft Visual Basic para Aplicaciones Extensibility 5.3 en el cuadro de lista de Referencias Disponibles, vea la captura de pantalla:

check Microsoft Visual Basic for Applications Extensibility 5.3 in References dialog box

5. Luego haga clic en Aceptar para salir del cuadro de diálogo, ahora, debe guardar este libro de trabajo en formato Libro de Trabajo Habilitado para Macros de Excel, vea la captura de pantalla:

save the workbook as Excel Macro-Enabled Workbook format

6. Por último, reinicie el libro de trabajo para que surtan efecto los códigos, y ahora, cuando haga clic derecho en una celda, se insertará una opción Ejecutar Macro en el menú de clic derecho, y todas las macros en su libro de trabajo se enumerarán en el submenú como se muestra en la siguiente captura de pantalla:

when right clicking a cell, all macros in your workbook are listed in submenu

7. Luego puede ejecutar el código simplemente haciendo clic en él.



Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!