J'ai une feuille de calcul Google complexe avec de nombreuses feuilles et une table des matières. Existe-t-il un moyen de créer un lien vers les noms des feuilles de sorte qu’un clic permet d’aller directement à la feuille? C’est-à-dire: cliquer sur la cellule "feuille5" permet de passer à feuille5?
google-sheets
google-apps-script
JBWhitmore
la source
la source
Réponses:
Lorsque vous passez à une autre feuille dans Google Spreadsheets, faites attention à l'URL dans la barre d'adresse de votre navigateur. À la fin de l'URL, vous devriez voir quelque chose comme:
Ce numéro change lorsque vous changez de feuille et spécifie la feuille à afficher. Copiez l'URL entière et créez un lien hypertexte avec cette formule:
Avec un script
J'ai beaucoup réfléchi à cette question depuis que j'ai écrit cette réponse pour la première fois et j'ai trouvé une solution qui implique un script.
Avec l'ouverture de la feuille de calcul, cliquez sur le Outils menu, puis éditeur de script ... . Collez tout ce code dans l'éditeur:
Enregistrez le script, puis actualisez la feuille de calcul. Après une seconde ou deux, un nouveau menu, Tâches , apparaîtra après l’ aide . Il y a un élément dans ce menu: Aller à la feuille ...
Cet élément de menu ouvrira un panneau avec une liste de noms de toutes les feuilles de la feuille de calcul actuelle. Cela ne ressemble pas à ça, mais si vous cliquez sur l'un des noms de feuille, cette feuille apparaîtra au premier plan.
En réponse à une autre question, ce script a été amélioré pour inclure une vue et des boutons à défilement.
la source
gid=7
.gid=7
, il devrait s'agir de la huitième feuille en partant de la gauche.gid
Sheet5, seulement manuellement. Si sa position change, ellegid
change et vous ne pouvez plus y associer de manière fiable.D'après mon expérience, le meilleur moyen de le faire est de lier une fonction à un bouton / une image. Le seul inconvénient est que vous ne pouvez pas transmettre de paramètres avec un script attribué à un bouton. Pour cette raison, vous devrez créer une fonction spécifique à chaque navigation, mais celle-ci peut être appelée dans un fichier de script unique.
Pas:
Créez une image (Insérer -> image) et donnez-lui un style
Créez une fonction personnalisée avec les éléments suivants:
puis une fonction spécifique à votre bouton
Enfin, assignez cette fonction à votre bouton
Vous devriez maintenant pouvoir cliquer sur votre bouton et naviguer jusqu'à "Sheet5". Cela peut également être modifié pour aller à une zone spécifique de la feuille.
la source
var sheet = ss.getSheetByName(ss.getActiveCell().getValue());
- vous pouvez ensuite placer le "bouton" à un endroit fixe de l’écran et étiquetez-le "Aller à la feuille dans la cellule en cours" et attribuez-le "showSheetByName" (qui n'a maintenant pas besoin de paramètre). Pour l'utiliser, il suffit de surligner la cellule avec un nom de feuille (par exemple, Sheet5) et de cliquer sur le bouton. C'est un peu indirect, mais cela fonctionne car cliquer sur un bouton ne supprime pas le focus de la cellule en surbrillance.