Einfügen oder löschen von Zellbereichen (Google Tabellen Script)
In diesem Tutorial möchte ich Euch ein Script vorstellen welches das einfügen oder löschen von Zellbereichen ermöglicht. In einem vorherigen Artikel habe ich ja bereits gezeigt wie das einfügen oder löschen bei Google Tabellen (Spreadsheets) von einzelnen Zellen über ein Script realisiert werden kann.
Ich wurde dann nachträglich gefragt ob es nicht auch für einen ganzen Bereich machbar ist, also nicht nur für einzelne Zellen sondern auch für ganze Zellbereiche. Also habe ich mich ran gesetzt und ein kleines Script geschrieben wo es möglich ist einen Zellbereich auszuwählen (also zu markieren) und die Zellen entsprechend der Auswahl einzufügen oder auch zu löschen.
Das Script erzeugt gleichzeitig für die einfache Bedienung ein kleines Menu in der Menuleiste, welches Euch die Auswahl bietet Zellen nach links, rechts, oben oder unten zu verschieben. Bei Bedarf können zum aufrufen der einzelnen Funktionen aber auch Button genutzt werden.
Das Script müsst Ihr jetzt einfach nur über den Script – Editor zusätzlich einfügen. Im unteren Bereich findet Ihr für das Script das passende Video-Tutorial dazu.
Hier aber erst einmal das Script "Einfügen oder löschen von Zellbereichen bei Google Tabellen".
function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Zellen verschieben') .addItem('Nach Oben', 'moveUp') .addItem('Nach Unten', 'moveDown') .addItem('Nach Links', 'moveLeft') .addItem('Nach Rechts', 'moveRight') .addToUi(); } function moveUp(){ move(0,-1); } function moveLeft(){ move(-1,0); } function moveDown(){ move(0,1); } function moveRight(){ move(1,0); } function move(x,y){ var sheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var auswahlAnfangZeile = sheet.getActiveRange().getRow(); var auswahlAnfangSpalte = sheet.getActiveRange().getColumn(); var auswahlAnzahlZeilen=sheet.getActiveRange().getNumRows(); var auswahlAnzahlSpalten=sheet.getActiveRange().getNumColumns(); var letzteZeile = sheet.getLastRow(); var letzteSpalte=sheet.getLastColumn(); //Verschiebt den Bereich nach links if(x<0){ for(i=0; i<auswahlAnzahlSpalten;i++){ sheet.getRange(auswahlAnfangZeile,auswahlAnfangSpalte+1,auswahlAnzahlZeilen,letzteSpalte) .moveTo(sheet.getRange(auswahlAnfangZeile,auswahlAnfangSpalte,auswahlAnzahlZeilen)); } } // Verschiebt den Bereich nach rechts if(x==1){ sheet.getRange(auswahlAnfangZeile,auswahlAnfangSpalte,auswahlAnzahlZeilen,letzteSpalte) .moveTo(sheet.getRange(auswahlAnfangZeile,auswahlAnfangSpalte+auswahlAnzahlSpalten,auswahlAnzahlZeilen)); } //Verschiebt den Bereich nach oben if(y<0){ for(i=0; i<auswahlAnzahlZeilen;i++){ sheet.getRange(auswahlAnfangZeile+1,auswahlAnfangSpalte,letzteZeile,auswahlAnzahlSpalten) .moveTo(sheet.getRange(auswahlAnfangZeile,auswahlAnfangSpalte,auswahlAnzahlSpalten)); } } //Verschiebt den Bereich nach Unten if(y==1){ sheet.getRange(auswahlAnfangZeile,auswahlAnfangSpalte,letzteZeile,auswahlAnzahlSpalten) .moveTo(sheet.getRange(auswahlAnfangZeile+auswahlAnzahlZeilen,auswahlAnfangSpalte,auswahlAnzahlSpalten)); } }
Die Benutzung des Scripts erfolgt natürlich wie immer auf eigene Gefahr.
Euch gefällt die Datei und Ihr wollt Euch unbedingt bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉
Falls Ihr genau wissen wollt wie Ihr das Script in Eurer Tabelle einfügen und nutzen könnt schaut Euch doch einfach das nachfolgende Video entweder hier oder über YouTube an.
Viel Spaß damit 😉
Das könnte Dich auch interessieren
- 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)
- Dynamischer Kalender mit Google Tabellen
- Einfügen oder löschen einzelner Zellen bei Google Tabellen
- Hallo Welt in Google Tabellen Script
- Kalender mit Tabelle verbinden / verknüpfen (Google Tabellen Script)
- Mein erstes Script programmieren mit Google Tabellen
- Tutorials über Google Tabellen Script - Programmierung
- Vergleichen der Werte von Zellen mit Google Tabellen Script
- Wertebereich einer Zelle mit Google Tabellen Script überprüfen
- Zeitstempel programmieren in Google Tabellen
- Übersichts-Liste der GOOGLE Tabellen Script Tutorials
7 Comments
Hallo,
super Video, hat mir schon bisschen zum Verständnis beigetragen.
Ich bin auf der Suche nach einem Script mt Schelife für Google Tabellen, welches automatisch leere Zeilen löscht.
Datenblatt A enthält alle Informationen. In Datenblatt B werden mit Zellbezug die Informationen geladen, wenn dieser in einer separaten Spalte mit einem "x" gekennzeichnet sind.
Nun enthält nicht jede Zeile eine Markierung, heißt in Datenblatt B sind leere Zeilen vorhanden.
GIbt es entsprechend ein Script, welches diese per Knopfdruck entfernt?
Ich freue mich auf Ihr Feedback!
Mit freundlichen Grüßen,
Ingvar Meckel
Hallo Ingvar,
natürlich könnte man das ganze mit einem Script machen aber schau Dir mal dieses Tutorial an:
https://toptorials.com/funktion-query-wie-sql-google-tabellen/
Hiermit kannst Du noch wesentlich mehr machen als mit dem Script was dann nur die leeren Zeilen löschen würde.
Mit dieser Abfrage kannst Du dann nämlich alles auswählen was in einer bestimmten Spalte ein X enthält und sogar nach Namen, Datum etc. sortieren oder auch gruppieren. Ich denke wenn Du Dich da ein bisschen einarbeitest hast Du wesentlich flexiblere Möglichkeiten und das Tutorial erklärt das eigentlich wirklich in leicht verständlicher Form auch wenn man mit SQL noch nicht so vertraut ist.
Viele Grüße
Chris.
Hallo Chris,
danke für das super erklärte Video!
Wie kann ich denn das Script so umschreiben, dass die Zeilen an das Ende eines anderen Tabellenblattes verschoben werden?
Vielen Dank schon mal im voraus!
-Julia
Hallo Julia,
danke Dir für das Kompliment 😉
Das Tutorial was Du gerade gesehen hast ist aber nicht so gut geeignet um das nur anzupassen.
Schau Dir mal dieses Tutorial an: https://toptorials.com/moveto-kopieren-verschieben-google-tabellen-script/
Hier musst Du nur statt der Angabe der Zellposition wo Du das hin haben möchtest die Funktion getLastRow() benutzen und auf ein anderes Tabellenblatt zum Kopieren oder verschieben verweisen.
getLastRow() gibt Dir die letzte Zeilennummer aus.
In dem Tutorial zeige ich wie man auf ein anderes Tabellenblatt zugreifen kann. Hier sind eigentlich alle Infos drin die Du bräuchtest. Auch getLastRow.
https://toptorials.com/daten-anderer-tabellen-kopieren-google-script/
Wichtig!!!:
Benutze aber immer erst einmal eine Kopie des Originals um das zu Testen, denn hier im letzten Script werden die Daten vorher in Tabellenblatt1 gelöscht.
Chris
Hallo Chris,
Danke für die geleistete Arbeit. Habe mir die Tutorials angeschaut
Habe leider mein Problem nicht lösen können.
In einer Google Tabelle mit 10 Spalten und bis jetzt über 9000 Zeilen, möchte ich in der Spalte C auf die erste leer Zelle springen.
Kannst Du da weiterhelfen?
Hallo Herbert, Du könntest Dir ein Makro erstellen.
Ein Google Makro erstellen
Du kannst erst einmal folgendes Testen. Du klickst in Zeile C auf die oberste Zelle, dann nimmst Du die STRG Taste und Pfeil nach unten. Anschließend nochmal die Pfeiltaste nach unten ohne STRG zu drücken.
Genau so kannst Du das machen ohne Makro oder Du zeichnest Dir diese Vorgang als Makro ab und erstellst Dir dafür noch einen Button. Dann brauchst Du da nur noch rauf klicken 😉
Das ganze Funktioniert natürlich nur auf PC. Bei Mobilgeräten funktionieren Buttons leider nicht und werden nur als normale Grafik dargestellt.
Viele Grüße
Chris
Hallo Chris
Colles Skript. Frage… lässt sich dieses Skript so abbändern, dass wir in unserer Google-Tabelle mehrere Zeilen auswählen können, diese ausschneiden und anschliessend einer beliebigen Stelle die ausgeschnittenen Zellen wieder einfügen können? In Microsoft Excel gibt es diese Funktion: Ausgeschnittene Zellen einfügen.
Kannst du da weiterhelfen?
Danke dir und Gruss
Lukas