Contacto

Celular: +56 983945161 Santiago,Chile Enrique Contactar

Como crear un menú contextual VBA.(POPUP)

Vamos a crear nuestro propio menú contextual para las hojas.   Este es un ejemplo muy sencillo con solo dos elementos utilizando lenguage VBA.     El ejemplo lo puedes descargar mas abajo.

Este código debe ir en la hoja en la cual queremos colocar el menú con el evento despues de apretar el segundo botón del Mouse.

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Application.CommandBars(“MiMenu”).ShowPopup
End Sub

 

‘Con este menú eliminamos el control.

 

 

Sub Borrar_POPUP()
On Error Resume Next
CommandBars(“mimenu”).Delete
End Sub

‘Crearemos el Objeto MI_POPUP como commandbar y el la variable MI_ITEM como commandbarcontrol.

Sub CrearMenu()  ‘ www.elreydelexcel.com

Dim MI_POPUP As CommandBar
Dim MI_ITEM As CommandBarControl

Call Borrar_POPUP
‘Se crea el objeto Popup
Set MI_POPUP = CommandBars.Add(Name:=”mimenu”, Position:=msoBarPopup, Temporary:=True)

‘ MI_ITEM 1
Set MI_ITEM = MI_POPUP.Controls.Add(Type:=msoControlButton)
With MI_ITEM
.Caption = “&Formato FUENTE…”
.OnAction = “MACRO_MENSAJE”
.FaceId = 1554
End With

‘ MI_ITEM 2
Set MI_ITEM = MI_POPUP.Controls.Add(Type:=msoControlButton)
With MI_ITEM
.Caption = “&Alineacion…”
.OnAction = “MACRO_FUENTE”
.FaceId = 217
End With

End Sub

La propiedad OnAction Devuelve o establece el nombre de un procedimiento de Visual Basic que se ejecutará cuando hacemos clic al valor de un control de nuestro menú y nos permite ejecutar otras macros como las siguientes:

Caption esta propiedad nos permite escribir el texto de cada Item.

CommandBars representa la barra de menús y todas las barras de herramientas de Microsoft Office.

Sub MACRO_FUENTE()
Selection.Font.Color = RGB(0, 0, 255)
End Sub

Sub MACRO_MENSAJE()
MsgBox ” INGRESAR NUEVA MACRO,WWW.ELREYDELEXCEL.COM”
End Sub

La función FaceId  establece el número de Id. de la imagen de un control de nuestro menú.

El método ShowPopup permite mostrar el menucontextual

 

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ingresa tu Email y Recibe Manual de Tablas Dinámicas Gratis.