Esta es el arreglo más válida que encomtrarás aportar, pero primero mírala detenidamente y analiza si es compatible a tu trabajo.
Solución:
esto funcionará para usted
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
MsgBox "Row " & ActiveCell.Row & " is clicked"
End Sub
Sí, puede, siga los pasos simples a continuación para hacerlo:
- Selecciona la Celda donde quieres hacer el Hipervínculo
- Clic derecho –> Hipervínculo…
- Ingrese la Dirección de la Misma celda donde está haciendo el hipervínculo y Dé nombre al Enlace. Vea la imagen de abajo:
Asignar macro a un hipervínculo
- Haga clic en Aceptar.
- Se crea un hipervínculo.
Nota: Al hacer clic en este hipervínculo, no hará nada porque está asignado a la misma dirección de celda.
- Ahora presione Alt + F11
- Copie y pegue el siguiente código
Ejecute la macro de Excel haciendo clic en un hipervínculo
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Check if the Target Address is same as you have given
'In the above example i have taken A4 Cell, so I am
'Comparing this with $A$4
If Target.Range.Address = "$A$4" Then
'Write your all VBA Code, which you want to execute
'Or Call the function or Macro which you have
'written or recorded.
MsgBox "Write your Code here to be executed"
Exit Sub
End If
End Sub
En el código anterior estamos comparando la dirección de la celda y luego ejecutando un conjunto de código o función. Hay otra manera de hacer esto también. Podemos comparar con el nombre de destino y ejecutar el código. En el ejemplo anterior, he dado el nombre del destino del hipervínculo como MyMacro.
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Check if the Target Name is same as you have given
'In the above example i have given the Name of the HyperLink
'is MyMacro.
If Target.Name = "mymacro" Then
'Write your all VBA Code, which you want to execute
'Or Call the function or Macro which you have
'written or recorded.
MsgBox "Write your Code here to be executed"
Exit Sub
End If
End Sub
La forma más interesante de hipervínculo para ejecutar un macro, parece ser el próximo enfoque (fórmula de hipervínculo). No necesita ningún evento:
- Escriba una fórmula de hipervínculo en una celda. Esto también se puede hacer en VBA:
Sub testCreateHyperlinkFunction()
'Very important to have # in front of the function name!
Range("A1:A5").Formula = "=HYPERLINK(""#MyFunctionkClick()"", ""Run a function..."")"
End Sub
Un uso más espectacular será el siguiente enfoque, capaz de mantener el valor de las celdas iniciales del rango procesado (“A1:A5” en el ejemplo):
Sub testCreateHyperlinkFunctionBis()
Dim rng As Range, arr As Variant, c As Range, i As Long
Set rng = Range("A1:A5")
arr = rng.Value
For i = 1 To UBound(arr, 1)
Range("A" & i).Formula = "=HYPERLINK(""#MyFunctionkClick()"", " & _
IIf(IsNumeric(arr(i, 1)), arr(i, 1), """" & arr(i, 1) & """") & ")"
Next i
End Sub
- Cree la función a llamar (en un módulo):
Function MyFunctionkClick()
Set MyFunctionkClick = Selection 'Do not miss this part!
MsgBox "The clicked cell addres is " & Selection.row
End Function
- Al hacer clic en la celda, la función
MyFunctionkClick()
carreras…
Reseñas y puntuaciones
Al final de todo puedes encontrar las referencias de otros sys admins, tú asimismo eres capaz dejar el tuyo si te gusta.