J'ai des problèmes avec la fonction Hyperlien d'Excel. J'ai un nom dans la cellule A1, dans la cellule a2, je veux un lien hypertexte qui renvoie à la feuille de calcul qui porte le même nom que le nom dans la cellule A1
J'ai des problèmes avec la fonction Hyperlien d'Excel. J'ai un nom dans la cellule A1, dans la cellule a2, je veux un lien hypertexte qui renvoie à la feuille de calcul qui porte le même nom que le nom dans la cellule A1
Réponses:
La HYPERLINK
fonction est utilisée pour créer un lien vers une autre feuille reliant ceci:
=HYPERLINK("[File]SheetName!A1", "NiceName" )
Étant donné que la première partie est une chaîne, si votre valeur pour SheetName
est stockée dans une cellule, A1
vous pouvez utiliser CONCATENATE
pour créer cette chaîne comme ceci (des sauts de ligne ajoutés à l'intérieur du CONCATENATE
pour, espérons-le, ajouter de la clarté)
=HYPERLINK( CONCATENATE("[",
MID(CELL("filename"),SEARCH("[",CELL("filename"))+1,SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-1),
"]",
A1 ,
"!B1" ) , "Name" )
C'est assez long et douloureux, désolé, donc quelqu'un pourrait avoir une meilleure suggestion - mais je pense que cela fonctionnera. Notez que cela ne fonctionnera que sur les fichiers enregistrés car il nécessite un nom de fichier pour fonctionner.
Utilisez B1
pour la cellule ou la plage nommée à lier (je suppose que vous utilisez simplement A1 si vous voulez simplement ouvrir cette feuille et noter la peine d'un point spécifique à l'intérieur).
Et "NiceName"
c'est ce qui apparaît dans la cellule à l'utilisateur.
À titre d'explication brève, ce que CONCATENATE
fait, est d'abord d'extraire le nom de fichier CELL("filename")
, de l'envelopper dans le nécessaire []
, d'ajouter le nom de la feuille (tiré de la cellule A1
), et enfin d'ajouter !
et un nom de cellule pour terminer le lien. Le résultat, par exemple, est quelque chose comme le suivant, qui devrait fonctionner comme cible pour HYPERLINK
.
[FileName.xls]SheetName!A1
Soyez un peu prudent lorsque vous utilisez le nom de fichier réel dans le lien hypertexte, car vous créez une dépendance sur l'existence de ce nom de fichier.
Si je crée un lien vers une cellule du même classeur, j'utilise:
=HYPERLINK("[.\]Report!D4", "Click here to go to cell D4 of the Report tab")
Cela a fonctionné pour moi lorsque je ne sais pas quel sera le nom du fichier de feuille de calcul (les utilisateurs modifient le nom de chaque version). Mon texte convivial dans la cellule s'appelle "LIEN" car le nom de la feuille doit exister dans une autre cellule, donc doubler le nom déroutait les utilisateurs. Vous copieriez cette formule vers le bas à côté d'une liste de noms de feuilles de calcul dans le col H (à partir de la ligne 2 dans ce cas) ... fonctionne comme une table des matières cliquable:
= HYPERLIEN (MID (CELL ("nom de fichier", $ A $ 1), FIND ("[", CELL ("nom de fichier", $ A $ 1)), FIND ("]", CELL ("nom de fichier", $ A $ 1)) ) - FIND ("[", CELL ("nom de fichier", $ A $ 1)) + 1) & "#" & $ H2 & "! A1", "LINK")