Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Notas:
El primer carácter del nombre de la macro debe ser una letra. Los demás caracteres pueden ser letras, números o caracteres de
subrayado. No se permiten espacios en un nombre de macro; puede utilizarse un carácter de subrayado como separador de palabras.
No utilice un nombre de macro que también sea una referencia de celda; de lo contrario puede aparecer un mensaje
indicando que el nombre de la macro no es válido.
1. Si desea ejecutar la macro presionando un método abreviado, escriba una letra en el cuadro Tecla de método abreviado.
Puede utilizarse CTRL+ letra (para letras minúsculas) o CTRL+ MAYÚS + letra (para letras mayúsculas), donde letra es cualquier tecla del
teclado. La tecla de método abreviado que se utilice no puede ser ni un número ni un carácter especial como @ o #.
NOTA La tecla de método abreviado reemplazará a cualquier tecla de método abreviado predeterminada equivalente en Microsoft
Excel mientras esté abierto el libro que contiene la macro.
2. En el cuadro Guardar macro en, haga clic en la ubicación en que desea almacenar la macro.
Si desea que la macro esté disponible siempre que utilice Excel, seleccione Libro de macros personal.
1. En el menú Herramientas de Microsoft Excel, seleccione Macro y después haga clic en Editor de Visual Basic.
2. En el menú Insertar, haga clic en Módulo.
3. Escriba o copie el código en la ventana de código del módulo.
4. Si desea ejecutar la macro desde la ventana del módulo, presione F5.
5. Una vez escrita la macro, haga clic en Cerrar y volver a Microsoft Excel en el menú Archivo.
Las macros automáticas, como Auto_Activate, están diseñadas para ejecutarse cuando se inicia Microsoft Excel. Para obtener más
información sobre este tipo de macros, consulte la Ayuda de Visual Basic.
Para copiar toda la macro, asegúrese de que incluye las líneas Sub y End Sub en la selección
Sugerencia
Puede ver el archivo Libro de macros personal (Personal.xls) en cualquier momento abriéndolo en el Editor de Visual Basic (Alt+F11).
Como Personal.xls es un libro oculto que siempre está abierto, si desea copiar una macro deberá mostrarlo.
Sugerencia
Si desea ejecutar otra macro diferente mientras está utilizando el Editor de Visual Basic, haga clic en la opción Macros en el
menú Herramientas. En el cuadro Nombre de la macro, escriba el nombre de la macro que desea ejecutar y, a continuación, haga
clic en Ejecutar.
NOTA La tecla de método abreviado suplantará a cualquier tecla de método abreviado predeterminada equivalente en Microsoft
Excel mientras esté abierto el libro que contiene la macro.
5. Si desea incluir una descripción de la macro, escríbala en el cuadro Descripción.
6. Haga clic en Aceptar.
7. Haga clic en Cancelar.
1. Haga clic en el botón o el control gráfico para que aparezcan los controladores de tamaño.
2. Con el objeto gráfico seleccionado, haga clic con el botón secundario del mouse (ratón) en un controlador de tamaño del
botón o del objeto gráfico para mostrar el menú contextual.
3. En el menú contextual, haga clic en Asignar macro.
4. Siga uno de estos procedimientos:
Para asignar una macro al botón u objeto gráfico, escriba el nombre de la macro en el cuadro Nombre de la macro y,
a continuación, haga clic en Aceptar.
Para grabar una nueva macro y asignarla al objeto gráfico seleccionado, haga clic en Grabar. Cuando finalice de
grabar la macro, haga clic en Detener grabación en la barra de herramientas Grabar macro.
Para escribir una macro en el Editor de Visual Basic, haga clic en Nueva. Para modificar una macro existente, haga clic
en el nombre de la macro, en el cuadro Nombre de la macro y, a continuación, haga clic en Modificar.
NOTA Si asigna una macro a un botón o a otro objeto que ya esté en uso como, por ejemplo, un hipervínculo, se eliminará la
información del hipervínculo. A partir de entonces, al hacer clic en el botón o en el objeto, se ejecutará la macro.
Iniciar una macro desde un área, una zona activa o un objeto gráfico
1. Dibuje otro objeto para crear una zona activa para un objeto existente.
2. Con el segundo objeto gráfico seleccionado, haga clic con el botón secundario del mouse en un controlador de tamaño del
botón o del objeto gráfico para mostrar el menú contextual.
3. En el menú contextual, haga clic en Asignar macro.
4. Siga uno de estos procedimientos:
Para asignar una macro al botón u objeto gráfico, escriba el nombre de la macro en el cuadro Nombre de la macro y,
a continuación, haga clic en Aceptar.
Para grabar una nueva macro y asignarla al objeto gráfico seleccionado, haga clic en Grabar. Cuando finalice de
grabar la macro, haga clic en Detener grabación en la barra de herramientas Grabar macro.
Para escribir una macro en el Editor de Visual Basic, haga clic en Nueva. Para modificar una macro existente, haga clic
en el nombre de la macro, en el cuadro Nombre de la macro y, a continuación, haga clic en Modificar.
5. En el menú Formato, haga clic en Autoforma y, a continuación, haga clic en la ficha Colores y líneas.
6. Bajo Rellenar, haga clic en Sin relleno en el cuadro Color. Bajo Línea, haga clic Sin línea en el cuadroColor.
7. Repita estos pasos para cada zona activa que desee crear. No es necesario crear un nuevo objeto gráfico para cada zona
activa.
Iniciar una macro desde un botón de la barra de herramientas
Al hacer clic en el botón Actualizar, aparece un mensaje indicando que se perderán los cambios realizados en la macro.
Este mensaje aparece cuando ha realizado cambios en una macro en el Editor de Visual Basic y
también ha cambiado la copia del libro en el Editor de secuencias de comandos de Microsoft.
Para deshacer una acción no deseada en una macro, puede abrir ésta en el Editor de Visual Basic
y quitar los pasos no deseados.
Si no desea utilizar el Editor de Visual Basic, vuelva a registrar la macro sin la acción no deseada.
Una macro registrada puede no funcionar correctamente en todas las situaciones. Si la macro no
se puede ejecutar, Microsoft Excel mostrará un mensaje de error. Algunas macros dependen de
la configuración o de opciones concretas de Excel. Por ejemplo, una macro que busque texto en
negrita no se ejecutará correctamente si no se muestra texto en negrita. Si una macro que se ha
registrado genera un mensaje de error, anote el número de error. Después puede buscar
"mensajes de error" en la Ayuda de Visual Basic y encontrar la información sobre el mensaje
recibido.
Sub CrearMenu()
Dim HelpMenu As CommandBarControl
Dim MenuNuevo As CommandBarPopup
Dim MenuItem As CommandBarControl
Dim SubmenuItem As CommandBarButton
'Borra el Menu 'EXCELeINFO' llamando a otra macro
Call BorrarMenu
'Busca por el menú Ayuda, esto es simplemente un convenio no firmado entre programadores
'para los cuales cualquier menu creado y añadido debe ir antes que el menu llamado Ayuda y/o Help,
el cual tiene como ID =30010
Set HelpMenu = Application.CommandBars("Worksheet Menu Bar").FindControl(ID:=30010)
If HelpMenu Is Nothing Then
' Añade el menu 'EXCELeINFO' al final
Set MenuNuevo = Application.CommandBars("Worksheet Menu
Bar").Controls.Add(Type:=msoControlPopup, Temporary:=True)
Else
' Si Ayuda existe, entonces antes que el menu '?' es decir ID=30010
Set MenuNuevo = Application.CommandBars("Worksheet Menu
Bar").Controls.Add(Type:=msoControlPopup, Before:=HelpMenu.Index, Temporary:=True)
End If
' hemos colocado un & antes que la 'C' para que la 'C' esté subrayada y podamos acceder al menú no
solamente con el ratón sino desde el teclado con la combinacion de teclas 'ALT + C'
MenuNuevo.Caption = "EX&CELeINFO"
' Y vamos añadiéndole diferentes botones y/o controles tal que...
'------------------------------------
'MENÚ FORMATO DE REPORTES
Set MenuItem = MenuNuevo.Controls.Add(Type:=msoControlPopup)
With MenuItem
.Caption = "&Formato de reportes"
End With
'
Set SubmenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
With SubmenuItem
.Caption = "&Reporte1"
.FaceId = 532
.OnAction = "Macro1"
End With
'3.B)
Set SubmenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
With SubmenuItem
.Caption = "&Reporte2"
.FaceId = 532
.OnAction = "Macro2"
End With
'
Set SubmenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
With SubmenuItem
.Caption = "&Formatear reporte"
.FaceId = 300
.OnAction = "Macro3"
End With
'------------------------------------
'BOTÓN ACERCA DE
Set MenuItem = MenuNuevo.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = "&Macro1"
.FaceId = 682
.OnAction = "Macro4"
.BeginGroup = True
End With
'
Set MenuItem = MenuNuevo.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = "&Acerca de ..."
.FaceId = 682
.OnAction = "Macro5"
.BeginGroup = True
End With
End Sub
Notas: El menú creado en el ejemplo es aplicable sólo para el archivo en cuestión, por lo que se crea una macro con el nombre de
BorrarMenu en el evento _BeforeClose.