Ich habe eine komplizierte Google-Tabelle mit vielen Blättern und einem Inhaltsverzeichnis. Gibt es eine Möglichkeit, einen Link zu den Blattnamen zu erstellen, sodass Sie mit einem Klick direkt zum Blatt wechseln können? Das heißt: Wenn Sie auf die Zelle "sheet5" klicken, wechseln Sie zu sheet5.
google-sheets
google-apps-script
JBWhitmore
quelle
quelle
Antworten:
Wenn Sie in Google Spreadsheets zu einem anderen Blatt wechseln, beachten Sie die URL in der Adressleiste Ihres Browsers. Am Ende der URL sollte Folgendes stehen:
Diese Nummer ändert sich beim Wechseln der Blätter und gibt an, welches Blatt angezeigt werden soll. Kopieren Sie die gesamte URL und erstellen Sie einen Hyperlink mit dieser Formel:
Mit einem Skript
Seit ich diese Antwort geschrieben habe, habe ich viel über diese Frage nachgedacht und eine Lösung gefunden, die ein Skript beinhaltet.
Mit der Tabelle öffnen, klicken Sie auf die Werkzeuge Menü, dann Editor Script ... . Fügen Sie den gesamten Code in den Editor ein:
Speichern Sie das Skript und aktualisieren Sie die Tabelle. Nach ein oder zwei Sekunden wird nach der Hilfe ein neues Menü Aufgaben angezeigt . Es gibt einen Punkt in diesem Menü: Gehe zu Blatt ...
Dieser Menüpunkt öffnet ein Fenster mit einer Liste der Namen aller Blätter in der aktuellen Tabelle. Es sieht nicht so aus, aber wenn Sie auf einen der Blattnamen klicken, wird dieses Blatt in den Vordergrund gerückt.
Als Antwort auf eine andere Frage wurde dieses Skript um eine scrollbare Ansicht und Schaltflächen erweitert.
quelle
gid=7
.gid=7
, sollte es das achte Blatt von links sein.gid
Sheet5 ist, nur manuell. Wenn sich die Position ändert,gid
ändert sich die Position , und Sie können keine zuverlässige Verbindung mehr herstellen.Der beste Weg, dies aus meiner Erfahrung heraus zu tun, besteht darin, eine Funktion an eine Schaltfläche / ein Bild zu binden. Der einzige Nachteil ist, dass Sie keine Parameter zusammen mit einem Skript übergeben können, das einer Schaltfläche zugewiesen ist. Aus diesem Grund müssen Sie für jede Navigation eine spezifische Funktion festlegen, die jedoch auch in einer einzelnen Skriptdatei aufgerufen werden kann.
Schritte:
Erstellen Sie ein Bild (Einfügen -> Bild) und gestalten Sie es nach Ihren Wünschen
Erstellen Sie eine benutzerdefinierte Funktion mit folgenden Elementen:
und dann eine spezifische Funktion für Ihre Taste
Weisen Sie diese Funktion abschließend Ihrer Taste zu
Sie sollten nun in der Lage sein, auf Ihre Schaltfläche zu klicken und zu "Sheet5" zu navigieren. Dies kann auch geändert werden, um auf einen bestimmten Bereich des Blatts zuzugreifen.
quelle
var sheet = ss.getSheetByName(ss.getActiveCell().getValue());
Sie die "Schaltfläche" dann an einer festen Stelle auf dem Bildschirm und beschriften Sie es mit "Gehe zu Blatt in aktueller Zelle" und weisen Sie es "showSheetByName" zu (was jetzt keinen Parameter benötigt). Markieren Sie dazu einfach die Zelle mit einem Blattnamen (z. B. Sheet5) und klicken Sie auf die Schaltfläche. Es ist ein wenig indirekt, funktioniert aber, weil durch Klicken auf eine Schaltfläche der Fokus nicht von der hervorgehobenen Zelle entfernt wird.