He hecho un libro con algunas macros, pero para que quien va a utilizar el libro no tenga que acceder a las macros desde la cinta de opciones (porque tampoco tiene por que saber cómo se llaman las macros ni cual tiene que utilizar en cda moemnto), me gustaría poner en la parte superior de la hoja principal un botón que al pulsarlo ejecute la macro.
Con un botón lo sé hacer, pero me gustaría darle un aspecto como si fuese un hipervinculo, vamos, como un texto y que al hacer click en él se ejecute la macro.
¿Alguien sabe si se puede crear un hipervínculo a una macro?. Por lo que he visto sólo puede hacerse a una hoja o a un rango del libro.
gracias.
Pues sí, el hipervínculo sólo permite dirigirse hacia un lugar del documento o una página, no permite ejecutar la macro que yo sepa.
Lo que puedes hacer es poner un texto que tenga la apariencia de un hipervínculo, aunque no lo sea, por ejemplo mediante un control de formulario de tipo etiqueta o un control ActiveX.
A estos controles sí les puedes asignar una macro, y jugando con la configuración del mismo, puede tener un aspecto más o menos similar al que tendría un hipervínculo.
------
Ya sé Excel, pero necesito más.
Me ocurrió lo mismo. queria poner un hipervínculo que direccione a una macro. El problema es que no se puede: Lo solucione del siguiente modo (SUPONIENDO QUE EL HIPERVINCULO FUE COLOCADO EN "A1" Y LA MACRO SE LLAMA "PINTO"):
1- A LA CELDA "A1" LE ASIGNE EL NOMBRE "VINCULO"
COMO: A la izquierda de la barra de fórmulas se coloca el nombre del rango seleccionado en ese momento.
2- A LA CELDA "A1" LE INSERTÉ UN HIPERVÍNCULO HACIA EL NOMBRE "VINCULO"
COMO: Sobre la celda A1 hice click derecho >> Hipervínculo >> Marcador.. >>Nombres Definidos >> "VINCULO"
(De este modo cada vez que se haga click en el hipervínculo el link volverá a la misma celda.)
3- EN LA VENTANA DE VBA UTILICE EL PROCEDIMIENTO DE FOLLOWHYPERLINK
COMO: En la ventana de VBA Proyects seleccioné la hoja donde coloqué el Hipervínculo
Me coloqué en la ventana del Objeto Worksheet y seleccione el Procedimiento FollowHyperlink.
Se abrió el procedimiento seleccionado : "Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)"
Ahí escribí : If Target.Name = "VINCULO" Then CALL PINTO
Quedara de esta forma:
Public Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Name = "VINCULO" Then
Eres un Genio! como necesité esto...
Sos un maestro total, me solucionastes un problema de la forma mas sencilla. Gracias desde Uruguay...
Genio , gracias!!!!
Muchas gracias. Es una solución sofisticada que denota conocimiento de VB.
Yo, sin esos conocimientos lo solucioné agregando un control: Por ejemplo: casilla de verificación. Luego con el botón derecho asocié la macro.
Probé con otros controles y no me funcionó.
Saludos.