2010-12-16 3 views

Répondre

3

Vous pouvez le faire en utilisant l'événement Worksheet_FollowHyperlink.

Par exemple, j'enregistré une macro appelée Macro1 et le code suivant exécutera la macro chaque fois que le lien est cliqué

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
     Run ("Macro1") 
End Sub 

Mais ce n'est pas une solution très efficace. Mes liens hypertexte pointent vers la même feuille (un par défaut à la 1ère cellule) donc quand on clique sur le lien hypertexte, la première cellule de cette feuille sera automatiquement sélectionnée.

Je n'ai pas enquêté plus à ce sujet. vous pouvez simplement annuler la navigation (ne sait pas si possible) ou définir la propriété du lien hypertexte à la cellule en cours afin que la sélection reste dans la même cellule.

+0

Définissez le lien hypertexte vers la cellule dans laquelle il se trouve - c'est ce que je fais. Ça ne va nulle part, mais le code fonctionne. –

+0

ouais j'ai essayé ceci mais le problème est que si vous avez un ensemble de cellules que vous voulez ajouter cette macro alors vous ne pouvez pas simplement cliquer et faire glisser pour appliquer le lien. Le lien pour toutes les cellules pointera vers la première cellule (j'espère que je suis clair :-)) donc en bref si vous voulez avoir cette fonctionnalité pour de nombreuses cellules alors vous devrez ajouter les hyperliens manuellement – Shoban

+1

Salut @Shoban par l'aide de votre réponse, je pourrais résoudre un gros problème pour moi. Vous pouvez également voir un autre exemple de cette utilisation dans le lien ci-dessous: [http://stackoverflow.com/questions/43360114/how-to-expand-a-group-in-excel-by-using-hyperlinkor-by- peut-être-affecter-macro-à] – Mertinc

Questions connexes