Menu en Barra de herramientas

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Menu en Barra de herramientas

Notapor Fernando Lemus » 26 Ago 2006 20:28

Amigos yo baje un ejemplo de como crear menus en la barra de herrramientas de excel ahora bien, quien tiene un ejemplo de como correr los macros o abrir los formularios que se le tiene asignado al menu.

slds,
Fernando
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Fernando Lemus
Miembro Frecuente
Miembro Frecuente
 
Registrado: 03 Feb 2006 15:12
Ubicación: Guatemala

Re: Menu en Barra de herramientas

Notapor Adrian » 28 Ago 2006 09:29

Hola!
Copia y pega en u módulo este código. No te confundas nombres de macro con tí­tulos.
Atte.

Sub CrearBarraPersonalizada()
Dim cb
On Error GoTo e 'si se produce error, voy a e
Application.ScreenUpdating = False 'no muestra transción de paso de hojas
Application.ActiveWorkbook.Sheets(1).Select 'selecciono hoja1 Load Bajass
' crear una nueva barra de comandos
Dim cbMenu As CommandBarPopup, cbButton As CommandBarButton
QuitaBarras ' borros las barras perzonalizadas si exite alguna
' creo la nueva barra de comandos
Set cb = Application.CommandBars.Add("Mi Barra", msoBarTop, False, True)
cb.Protection = msoBarNoChangeDock
' agrego un menú a la nueva barra
Set cbMenu = cb.Controls.Add(msoControlPopup, , , , True)
With cbMenu
.Caption = "&Registro" ' lo que se muestra, subrayado la R
End With
' agrego un item al menú
With cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "Tu&Macro1" ' lo que se muestra, subrayado la t
.OnAction = "TuMacro1" 'llamo a la macro
End With
' agrego un item al menú
With cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "Tu&Macro2" ' lo que se muestra, subrayado la j
.OnAction = "TuMacro2" 'llamo a la macro bajas
End With
' agrego un item al menú
With cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "Tu&Macro3" ' lo que se muestra, subrayado la j
.OnAction = "TuMacro3" 'llamo a la macro bajas
End With
' agrego un item al menú
With cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "&Quitar Barra de Comandos"
.OnAction = "QuitaBarras"
.FaceId = 67 ' icono de tachito de basura
.Style = msoButtonIconAndCaption 'botón con icono y mensaje
.BeginGroup = True 'comienza otro grupo,y éste esta la principio. Hace la lí­nea
End With
' agrego un botón a la barra, utilizo un icono personalizado en FaceId
Set cbButton = cb.Controls.Add(msoControlButton, , , , True)
With cbButton
.Caption = "Acerca De"
.Style = msoButtonIcon
.OnAction = "Acercade"
.TooltipText = "Ver Autor"
End With
cb.Visible = True ' muestro la barra personalizada
Set cbButton = Nothing
Set cbMenu = Nothing
Set cb = Nothing
'Esto vino de la ayuda de VBA
'se utiliza para desvincular una variable objeto de un objeto real.
'Utilice la instrucción Set para asignar Nothing a una variable objeto
Exit Sub
e: 'hubo un error, muestro un mensaje
MsgBox "Error causado por:" & Err.Description + Chr(13) & "Consulte al proveedor", vbInformation + vbOKOnly, "Sr. Operador"
End Sub

Sub QuitaBarras()
On Error GoTo e
Dim Bar As CommandBar 'creo el objeto barra para el for
'borro las barras personalizadas creadas por código
For Each Bar In Application.CommandBars
If Not Bar.BuiltIn Then Bar.Delete
Next
Exit Sub
e: 'hubo un error, muestro un mensaje
MsgBox "Error causado por:" & Err.Description + Chr(13) & "Consulte al proveedor", vbInformation + vbOKOnly, "Sr. Operador"
End Sub
Sub TuMacro1()
MsgBox "Hola!" + Chr(13) + "Esta es la Macro Nº1", vbOKOnly + vbInformation, "Tus Macros"
End Sub
Sub TuMacro2()
MsgBox "Hola!" + Chr(13) + "Esta es la Macro Nº2", vbOKOnly + vbInformation, "Tus Macros"
End Sub
Sub TuMacro3()
MsgBox "Hola!" + Chr(13) + "Esta es la Macro Nº3", vbOKOnly + vbInformation, "Tus Macros"
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Menu en Barra de herramientas

Notapor ST » 28 Ago 2006 10:47

Fernando:
quiero suponer que lo que intentaste preguntar es como asociar una macro a un boton de una barra de herramientas personalizada :-)

pues si lo tomo textualmente,la respuesta seria.- "hacer click sobre el boton,como en cualquier elemento de excel" :twisted:

pero bueno..y espero no equivocarme:
para signar una macro solo debes asignar a la propiedad "onaction" la macro que deseas ejecutar al hacer click sobre el control.

en el ejemplo de Adrian se asignan diferentes macro a cada boton.- "TuMacro1","TuMacro2","TuMacro3",etc

obvio resulta decir que dichas macros deben existir en algun modulo :mrgreen:

Sub TuMacro1()
msgbox "Hola mundo"
End sub

Sub TuMacro2()
'aqui programas lo que deseas
'por ejemplo mostrar un form
userform1.show
End sub

Sub TuMacro3()
'aqui programas lo que deseas
unload userform1
End sub

y asi con cada control de la barra personalizada
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
ST
Miembro Frecuente
Miembro Frecuente
 
Registrado: 06 Jun 2005 17:56
Ubicación: Acapulco

Re: Menu en Barra de herramientas

Notapor opermty » 28 Ago 2006 13:26

Una breve explicacion que viene dentro de la ayuda de excel :)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Re: Menu en Barra de herramientas

Notapor Fernando Lemus » 28 Ago 2006 14:02

Les agradesco infinitamente su aporte ya que les comento que en el lugar en donde vivo no hay lo suficiente para aprender a realizar desarrollos de esta clase y les comento que desde que entre a este foro, me ha gustado mas la programacion en excel, gracias por su tiempo en ayudarme. :lol:

Que dios los bendiga

Fernando Lemus
Pto Barrios, Izabal
Guatemala
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Fernando Lemus
Miembro Frecuente
Miembro Frecuente
 
Registrado: 03 Feb 2006 15:12
Ubicación: Guatemala

Re: Menu en Barra de herramientas

Notapor opermty » 28 Ago 2006 14:41

Este archivo igual es muy ilustrativo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Re: Menu en Barra de herramientas

Notapor opermty » 28 Ago 2006 14:48

Otro mas para el aservo cultural :)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados