FOR SCHLEIFE in Google Tabellen Script
In diesem kurzen Tutorial und zugleich Snippet zeige ich Euch wie Ihr eine FOR Schleife oder auch FOR NEXT Schleife erstellen könnt. Manche nennen sie auch Loops. Mit der FOR Schleife könnt Ihr einen Codebereich mehrfach durchlaufen. Bei jedem Durchlauf können sich die verschiedenen Variablen und Aufrufe (z.B. durch IF Abfragen) auch ändern wenn man das möchte. Das bedeutet dass der Code nicht nur einfach wiederholt werden muss, sondern auch gezielt verändert werden kann.
Wer jetzt das erste mal ein Google Tabellen Script programmiert sollte sich zuerst dieses Tutorial hier anschauen: Mein erstes Google Tabellen Script programmieren
Es gibt natürlich noch weitere Schleifen die Ihr benutzen könnt: Übersicht der SCHLEIFEN (Google Tabellen Script) Snippet
Beschreibung:
In diesem Beispiel zeige ich Euch wie Ihr eine einfache FOR Schleife in Google Tabellen erstellen könnt. Hier werden durch diese Schleife in einer Spalte der Tabelle die Zahlen 1 bis 10 ausgegeben.
Zugriff auf das aktive Tabellenblatt
Zuerst greifen wir auf das aktive Tabellenblatt zu und weisen es der Variablen ss zu:
var ss= SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
FOR Schleife
Danach kommt auch schon die For Schleife:
for(i=1;i<=10;i++){ ss.getRange(i, 1).setValue(i); }
Direkt nach der Angabe von FOR wird in den Klammern folgendes angegeben.
Der erste Parameter i=1 initialisiert die Variable i mit dem Wert 1
Nachfolgend wird mit i<=10 festgelegt dass die Schleife durchlaufen werden soll solange i kleiner oder gleich 10 ist. Also muss die Bedingung erfüllt sein damit die Schleife weiter arbeitet.
Schrittweite
Der dritte Parameter i++ gibt sozusagen hier die Schrittweite an. Hier wird bei jedem Durchlauf die Variable i um eins erhöht. i++ ist die abgekürzte Form von i=i+1 und erhöht den Wert um 1. Hier könnt Ihr die Schrittweite natürlich auch ändern und größere Sprünge angeben.
Wenn Ihr also die Formel so ändert:
for(i=2;i<=10;i=i+2){ ss.getRange(i, 1).setValue(i); }
Die Zeile …
ss.getRange(i, 1).setValue(i);
… greift auf das Tabellenblatt zu welches wir ja jetzt in der Variablen ss hinterlegt haben.
getRange gibt den Bereich an welchen wir jetzt beschreiben wollen. Der Erste Parameter von getRange gibt die Zeilennummer und der zweite Parameter die Spaltennummer an. Deshalb habe ich als zweiten Parameter eine 1 gewählt um die Einträge in Spalte 1 einzutragen.
Vorzeitiger Abbruch der Schleife
Wenn Ihr falsche Parameter benutzen solltet, dann kann die Ausführung von Schleifen natürlich endlos weiter gehen. Das gute ist, dass das Programm dieses Script irgendwann stoppt wenn es zu einer Endlosschleife kommen sollte.
Ihr habt aber auch die Möglichkeit im Script Editor selbst die Ausführung abzubrechen. Dort erscheint im oberen Bereich eine Abbruchmöglichkeit.
Innerhalb des Scriptes selbst könnt Ihr natürlich auch steuern dass es zu einem Abbruch kommen soll. Dafür dient "break". Das würde dann in etwa so aussehen:
if(i>=5)break;
Hier wird die Ausführung der Schleife abgebrochen wenn der Wert für i größer oder gleich 5 ist.
Ablauf des Scripts
Die Zeilennummer wird jetzt durch die Variable i festgelegt. Zuerst ist i ja 1 weil wir das durch i=1 festgelegt haben. Also findet der erste Eintrag auch in Zeile 1 statt.
Mit setValue können wir in den angegebenen Bereich einen Wert eintragen. Hier benutze ich wieder die Variable i die beim ersten Durchlauf auch als Wert eine 1 hat. Also wird in der ersten Zeile auch der Wert 1 eingetragen. Anschließend wird mit i++ der Wert um eins erhöht und beim nächsten Durchlauf hat die Variable i den Wert 2.
Dadurch wird dann auch die zweite Zeile mit dem Wert 2 beschrieben.
Aufgerufen wird die Funktion mit forSchleife . Dieses Script könnt Ihr über Buttons (Zeichnungen oder Bilder) mit diesem Namen zuweisen.
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.
Snippet: FOR Schleife mit Google Tabellen Script Programmierung
function forSchleife(){ var ss= SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); for(i=1;i<=10;i++){ ss.getRange(i, 1).setValue(i); } }
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
- Beispiel einer doppelten FOR Schleife (Google Tabellen Script)
- DO WHILE SCHLEIFE (Google Tabellen Script) Snippet
- Einfügen oder löschen einzelner Zellen bei Google Tabellen
- FOR EACH SCHLEIFE (Google Tabellen Script) Snippet
- Google Tabellen Script autorisieren
- IF / ELSE / ELSE IF Bedingungen (Google Script) Snippet
- Kalender mit Tabelle verbinden / verknüpfen (Google Tabellen Script)
- Namen aller Tabellen ausgeben (Google Tabellen Script) Snippet
- Switch Case (Google Tabellen Script) Snippet
- Textinhalt vergleichen & markieren (Google Tabellen / Spreadsheets) Script
- WHILE SCHLEIFE (Google Tabellen Script) Snippet
- Zellen vergleichen & markieren / Array (Google Tabellen / Spreadsheets) Script
- Übersicht der SCHLEIFEN (Google Tabellen Script) Snippet
- Übersichts-Liste der GOOGLE Tabellen Script Tutorials