Nächste Tabelle auswählen mit Google Tabellen Script (Snippet)
In diesem sehr kurzen Tutorial und sogenannten Snippet, "Nächste Tabelle auswählen mit Google Tabellen Script (Snippet)", zeige ich Euch wie Ihr ein Script erstellen könnt welches über einen Button die nächste Tabelle anzeigt. Ich habe das Script so geschrieben dass Ihr über die Buttons das nächste oder vorherige Tabellenblatt aufrufen könnt. Wichtig ist natürlich auch dass Ihr mehr als eine Tabelle habt 😉
Im Script für die Funktion selbst habe ich die einzelnen Zeilen kommentiert. Hiermit sollte es eigentlich einfach sein das Script vom Aufbau her zu verstehen.
Das Script könnt Ihr kopieren und müsst es in Euren Scripteditor einfügen.
Vorab ein Video welches Euch zeigt wie man ein einfaches Script programmieren kann und wie Ihr den Scripteditor aufrufen könnt:
Mein erstes Script programmieren mit GOOGLE Tabellen
Achtung:
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Beschreibung des Scriptes Nächste Tabelle auswählen mit Google Tabellen Script:
Das folgende Google Tabellen Script ermöglicht Euch über 2 Buttons vor und zurück zu blättern. Das Script besteht aus 3 Funktionen. Die Hauptfunktion tabellenBlattAktivieren dient dazu das entsprechende Tabellenblatt aufzurufen. Die beiden anderen Funktionen tabellenBlattWeiter() und TabellenBlattZurueck() rufen die Hauptfunktion auf und übergeben dabei nur einen Parameter. Als Parameter wird 1 oder -1 übergeben. Damit wird dann weiter oder zurück geblättert.
Die Hauptfunktion nimmt diesen Parameter an und zeigt dann das entsprechende Tabellenblatt an.
Die Funktion tabellenBlattWeiter() und TabellenBlattZurueck() könnt Ihr übrigens zum Testen natürlich auch im Script-Editor aufrufen. Ihr könnt selbstverständlich auch Buttons erstellen um diese Funktionen über ein Klick darauf auszuführen. Wie das mit den Buttons funktioniert zeige ich in dem oben angegebenen Video.
Im oberen Teil des Hauptscripts tabellenBlattAktivieren() wird erst einmal ermittelt wie viele Tabellen überhaupt vorhanden sind. Das lässt sich mit folgendem Aufruf ermitteln:
SpreadsheetApp.getActive().getSheets().length;
Anschließend müssen wir auch noch überprüfen auf welchem Tabellenblatt wir uns momentan befinden. Das sehen wir mit folgendem Aufruf:
SpreadsheetApp.getActiveSheet().getIndex();
Nachdem wir wissen wie viele Tabellenblätter es insgesamt sind und auf welchem Tabellenblatt wir uns befinden müssen wir noch über die IF Abfrage die Bedingungen festlegen.
Wir müssen dabei überprüfen dass wir die Anzahl der vorhandenen Blätter nicht überschreiten und dürfen natürlich auch nicht unter 1 kommen. Sollten alle Bedingungen erfüllt sein wird die Tabelle angezeigt. Sollte die Bedingung nicht erfüllt sein, also der Wert außerhalb des Bereichs sein, dann soll die Tabelle 1 aufgerufen werden.
Damit das ganze auch wie gewünscht funktioniert solltet Ihr auch mehr als eine Tabelle in Eurem Tabellendokument haben 😉
Mehrere Tabellen Google Tabellen Script
Nächste Tabelle auswählen mit Google Tabellen Script
// Funktion zum weiter blättern // Für diese Funktion einen Button erstellen function tabellenBlattWeiter(){ // Aufruf der Hauptfunktion mit Übergabe des Parameters 1 // 1 bedeutet weiter weil 1 hinzugefügt wird tabellenBlattAktivieren(1) } // Funktion zum zurück blättern // Für diese Funktion einen Button erstellen function tabellenBlattZurueck(){ // Aufruf der Hauptfunktion mit Übergabe des Parameters -1 // -1 bedeutet zurück weil 1 abgezogen wird tabellenBlattAktivieren(-1) } function tabellenBlattAktivieren(richtung){ // Anzahl der vorhandenen Tabellenblätter der Variable anzahlTabellenBlaetter zuweisen var anzahlTabellenBlaetter = SpreadsheetApp.getActive().getSheets().length; // Index (Nummer) des aktiven Tabellenblatts der Variablen nummerAktivesTabellenblatt zuweisen var nummerAktivesTabellenblatt = SpreadsheetApp.getActiveSheet().getIndex(); // Bedingung festlegen: // Die Auswahl der Tabelle muss innerhalb des Bereichs sein. Sie muss kleiner oder gleich der Anzahl der Tabellen sein // und muss größer als 0 sein if((nummerAktivesTabellenblatt + richtung <= anzahlTabellenBlaetter) && (nummerAktivesTabellenblatt + richtung >0)){ // Hier wird das neue Tabellenblatt aktiviert SpreadsheetApp.setActiveSheet(SpreadsheetApp.getActiveSpreadsheet().getSheets()[(nummerAktivesTabellenblatt + richtung -1)]).activate(); // Wenn die Bedingung nicht erfüllt wird... }else{ //... dann soll die erste Tabelle ausgewählt werden SpreadsheetApp.setActiveSheet(SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]).activate(); } }
Die Benutzung der Scripte erfolgt natürlich wie immer auf eigene Gefahr.
Euch gefällt das Script und Ihr wollt Euch gerne bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉
Dies ist Teil der Serie: "Google Tabellen Script Programmierung"
Dieses Tutorial ist Teil einer Serie die als eine Art Datenbank für kleinere Snippets dient. Damit habt Ihr die Möglichkeit für Eure Projekte einen Teil des Codes hier direkt zu kopieren und wie in Modulbauweise das ganze anzuwenden.
Die Liste aller Snippets findet Ihr hier:
Google Tabellen Script Programmierung
Das könnte Dich auch interessieren
- Aktive Zeile in andere Tabelle kopieren (Google Tabellen Script) Snippet
- Aktive Zelle auslesen mit einem Google Tabellen Script
- Daten anderer Tabellen kopieren (Google Tabellen Script)
- Daten mit Script an den Listenanfang verschieben (Google Tabellen Script)
- Einfügen oder löschen einzelner Zellen bei Google Tabellen
- Google Tabellen Script autorisieren
- Hallo Welt in Google Tabellen Script
- Kalender mit Tabelle verbinden / verknüpfen (Google Tabellen Script)
- Tutorials über Google Tabellen Script - Programmierung
- Vergleichen der Werte von Zellen mit Google Tabellen Script
- Wo steht die GOOGLE Tabellen ID
- Zeitstempel programmieren in Google Tabellen
- Zelle kopieren mit copyTo (Google Tabellen Script) Snippet
- Zellen in andere Tabellen kopieren (Google Tabellen Script) Snippet
- Übersichts-Liste der GOOGLE Tabellen Script Tutorials
1 Comment
Hallo Chris, vielen Dank erstmal für die guten Anleitungen und anschaulichen Beispiele. Damit hast du mir echt schon in vielen Situationen geholfen, in der mich die GoogleDocu kein Stück weitergebracht hat.
An folgendem Problem verzweifle ich jedoch etwas. Ich habe mir eine Art kleines Haushaltsbuch geschrieben, in dem jedes Tabellenblatt einen Monat widerspiegelt. Die Benennung ist aktuell wie folgt: 11/19, 10/19, 09/19, 08/19 usw. Zusätzlich gibt es eine Übersichtsseite, in der Mehrere Zahlen berechnet und zusammengefasst werden. Inkl dem aktuellen Bargeldbestand. Jetzt muss ich jedoch jeden Monat, sobald ich ein neues Tabellenblatt erstelle, die Variable in der Übersicht anpassen.
Beispiel: =A1-'11/19'!A1
Jetzt war mein erster Gedanke, dass ich die Warte 11 und 19 einfach durch Funktionen ersetze.
Sprich: =A1-'MONTH(NOW())/YEAR(NOW())'!F2
War jedoch zu einfach gedacht und ich erhalte einen BEZUG Fehler. Jetzt bin ich auf dieses Script hier gestoßen und frage mich, ob ich dieses eventuell abändern könnte. Ich habe auch noch ein anderes bei dir gefunden, jedoch mussten hier immer feste ID's angegeben werden, was ich ja eigentlich nicht möchte. Mir kam auch die Idee, einfach das nächste Datenblatt zu nutzen, was nach der Übersicht folgt. Daher denke ich, könnte das hier doch ganz gut passen oder hättest du noch einen anderen Tipp?