Como parece que mi último aporte no os ha impresionado lo mas mínimo, con este os voy a deja con la boca abierta y las mandíbulas desencajadas.
Se trata de una macro que incorpora la lista de macros disponible en el menú contextual (Click derecho).
En un módulo normal, añadir:
'
' Macro para añadir la lista de macros en el menú contextual
' '---------------------------------------------------------
'
Sub AñadirMenuContextual()
'Restablecemos el menú contextual
'--------------------------------
RestaurarMenuContextual
'Añadimos Label "Lista de Macros" al menú contextual
'---------------------------------------------------
Set cmdNew = CommandBars("cell").Controls.Add
With cmdNew
.BeginGroup = True
.Caption = "*** Lista de macros ***"
End With
Icono = 71
'Por cada componente del proyecto
'--------------------------------
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
'Por cada módulo
'---------------
If ActiveWorkbook.VBProject.VBComponents.Item(i).Type = 1 Then
Set VBComp = ActiveWorkbook.VBProject.VBComponents.Item(i)
With VBComp.CodeModule
'Recorremos el código VBA
'------------------------
For N = 1 To .CountOfLines
If (Left(Trim(.Lines(N, 1)), 3) = "Sub" Or _
Left(Trim(.Lines(N, 1)), 9) = "Public Sub") And _
Right(Trim(.Lines(N, 1)), 2) = "()" Then
'Obtenemos el nombre de la macro
'-------------------------------
Macro = Trim(.Lines(N, 1))
Macro = Replace(Macro, "Public ", "")
Macro = Replace(Macro, "Sub ", "")
Macro = Replace(Macro, "()", "")
'Añadimos el menú con la macro
'-----------------------------
If Macro <> "AñadirMenuContextual" And _
Macro <> "RestaurarMenuContextual" Then
Set cmdNew = CommandBars("cell").Controls.Add
With cmdNew
.Caption = Macro
.FaceId = Icono
.OnAction = Macro
End With
Icono = Icono + 1
End If
End If
Next N
End With
End If
Next i
End Sub
Sub RestaurarMenuContextual()
'Restablecemos el menú contextual
'--------------------------------
CommandBars("Cell").Reset
End Sub[/CODE]
En [b]ThisWorkBook[/b]:
[CODE]
Private Sub Workbook_Open()
AñadirMenuContextual
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
RestaurarMenuContextual
End Sub
[/CODE]
Si os gusta, lo automatizaré.
Salu2. "Macro" Antonio, ... me voy que Julio Cesar me está esperando y tenemos que discutir que hacemos con la "Cleo".
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola:
Como parece que mi último aporte no os ha impresionado lo mas mínimo, con este os voy a deja con la boca abierta y las mandíbulas desencajadas.
Se trata de una macro que incorpora la lista de macros disponible en el menú contextual (Click derecho).
En un módulo normal, añadir:
En [b]ThisWorkBook[/b]:
Private Sub Workbook_Open()
AñadirMenuContextual
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
RestaurarMenuContextual
End Sub
[/CODE]
Si os gusta, lo automatizaré.
Salu2. "Macro" Antonio, ... me voy que Julio Cesar me está esperando y tenemos que discutir que hacemos con la "Cleo".