Toptorials Tutorials WeblogoLogobild kleinLogobild kleinToptorials Tutorials Weblogo
  • ALLE THEMEN IM ÜBERBLICK
  • YouTube
  • INFOS
    • SITEMAP
    • ÜBER TOPTORIALS
✕
            No results See all results

            Aktive Zeile in andere Tabelle kopieren (Google Tabellen Script) Snippet

            • Startseite
            • Tutorials Google Google Tabellen Script Programmierung Google Tabellen Script Code Snippets
            • Aktive Zeile in andere Tabelle kopieren (Google Tabellen Script) Snippet

            Aktive Zeile in andere Tabelle kopieren

            In diesem kurzen Tutorial und zugleich Snippet zeige ich Euch wie Ihr mit der Google Tabellen Script Programmierung die ausgewählte Zeile in ein anderes Tabellenblatt kopieren könnt.

            Wer jetzt das erste mal ein Google Tabellen Script programmiert sollte sich zuerst dieses Tutorial hier anschauen: Mein erstes Google Tabellen Script programmieren

            Beschreibung:

            In diesem Beispiel werden wir die gerade aktive oder ausgewählte Zeile in ein anderes Tabellenblatt kopieren. Dafür müssen wir natürlich erst einmal die Zeilennummer der aktiven Zelle wissen. Anschließend wird ein Bereich dieser Zeile in die andere Tabelle kopiert. Die Größe des Bereichs könnt Ihr natürlich anpassen. Die Kopie wird im neuen Tabellenblatt automatisch in die erste noch nicht beschriebene Zeile geschrieben. Somit könnt Ihr das schon fast wie eine kleine Datenbank benutzen.

            Die Funktion selbst ist relativ simpel. Man könnte diese sicher noch sehr viel kürzer schreiben aber ich denke zum besseren Verständnis sollte es so OK sein.

            Zuerst greifen wir auf das aktive Tabellenblatt zu.
            Anschließend lesen wir von der ausgewählten Zelle die Zeilennummer aus. Dafür benutze ich sheet.getActiveCell().getRow() .
            In der nachfolgenden Zeile lege ich den Namen der Zieltabelle fest. Hier habe ich "Tabellenblatt2" benutzt da Google Tabellen den Namen für ein neues Tabellenblatt automatisch vergibt wenn Ihr das Plussymbol ganz unten benutzt. Hier könnt Ihr natürlich ein anderes Tabellenblatt benutzen. Wichtig ist aber das dieser Tabellenname auch existiert.

            Mit getSheetByName(zielTabellenName) kann man über den Tabellennamen auf eine Tabelle zugreifen. Also greifen wir hier genau auf das Tabellenblatt2 zu.

            Danach möchte ich noch wissen welches die erste noch nicht beschriebene Zeile dieser Zieltabelle ist. Das mache ich über getLastRow().

            In der letzten Zeile greifen wir mit getRange auf den Bereich der Zieltabelle zu und schreiben mit setValue die Werte dort rein. setValues bekommt als Parameter die Daten der Quelltabelle. Der Bereich der Quelltabelle wird wieder mit getRange für den Bereich und getValues für die Werte eingelesen.

            Aufgerufen wird die Funktion mit aktiveZeileInAndereTabelleKopieren. 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: Aktive Zeile in andere Tabelle kopieren mit Google Tabellen Script Programmierung

            function aktiveZeileInAndereTabelleKopieren(){
            
              // Aktives Tabellenblatt
              var sheet = SpreadsheetApp.getActiveSheet();
              
              // Aktiver Bereich und auslesen der Zeile
              var row = sheet.getActiveCell().getRow();
              
              // Tabellenblattname wo die Daten gespeichert werden sollen
              var zielTabellenName="Tabellenblatt2";
              
              // Auf die Zieltabelle zugreifen
              var zielTabelle=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(zielTabellenName);
              
              // Letzte Zeile der Zieltabelle auslesen
              var letzteZeileVonZielTabelle=zielTabelle.getLastRow();
              
              zielTabelle.getRange((letzteZeileVonZielTabelle+1),1,1,10).setValues(sheet.getRange(row,1,1,10).getValues());
            
            }

            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

            • Daten anderer Tabellen kopieren (Google Tabellen Script)
            • Daten einer Zelle in anderes Tabellendokument 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)
            • Spalte einfügen (Google Tabellen Script) Snippet
            • Spalte löschen (Google Tabellen Script) Snippet
            • Tutorials über Google Tabellen Script - Programmierung
            • Vergleichen der Werte von Zellen mit Google Tabellen Script
            • Zeitstempel programmieren in Google Tabellen
            • Zelle kopieren mit copyTo (Google Tabellen Script) Snippet
            • Zellenbereich kopieren mit copyTo (Google Tabellen Script) Snippet
            • Übersichts-Liste der GOOGLE Tabellen Script Tutorials

            5 Comments

            1. Deemarco sagt:
              14. Juni 2018 um 20:55 Uhr

              Hallo Chris,
              Erst einmal danke für das was du machst und zeigst:) hab sehr viel gelernt von Dir weiter so.
              Nun zu mein Problem….. Ich möchte aus einer erstellten Tabelle gewisse Daten auf ein anderes Tabellenblatt kopieren. Dein Beispiel funktioniert sehr gut doch leider komm ich nicht auf die gewünschten Daten die ich ausgelesen haben möchte. Kleines Beispiel ich möchte vom Aktiven blatt die Zelle F26 in ein anderes Tabbellenblatt A1 haben. Ist so etwas machbar?

              Lg Marco

              Antworten
              • Chris sagt:
                14. Juni 2018 um 21:22 Uhr

                Hallo Marco, wenn ich Dich jetzt nicht falsch verstanden habe, dann müsste eigentlich diese Funktion genau das richtige für Dich sein:
                https://toptorials.com/zellen-in-andere-tabellen-kopieren-google-tabellen-script-snippet/
                Hier musst Du dann nur die Quelle und das Ziel angeben. In dem Beispiel ist als Quelle ein Bereich angegeben. Hier kannst Du aber auch eine einzelne Zelle eintragen, also Deine F26. Das Ziel entspricht schon dem was Du geschrieben hast. Hier wird dann vom aktiven Tabellenblatt in das Tabellenblatt kopiert was in der letzten Zeile angegeben ist. Hier kannst Du dann auch einen anderen Namen benutzen. Das Tabellenblatt muss aber natürlich vorhanden sein damit es funktioniert.
                Viele Grüße
                Chris

                Antworten
                • Deemarco sagt:
                  14. Juni 2018 um 21:52 Uhr

                  ich hatte dein beispiel: Snippet: Aktive Zeile in andere Tabelle kopieren mit Google Tabellen Script Programmierung genommen da ich daduch auch ein butten belegen kann.
                  Mein Projekt sieht so aus, ich habe 6 Rechner alle mit Rechner1 usw. Beschiftet Die Rechner werden von verschiedenen Personen genutzt. Nur durch drückendes Butten möchte ich Daten aus den Rechner haben auf ein Tabellenblatt wie zb, Name der Person, einen Grund und eine Zahl..
                  Wie gesagt dein Beispiel
                  function aktiveZeileInAndereTabelleKopieren(){

                  // Aktives Tabellenblatt
                  var sheet = SpreadsheetApp.getActiveSheet();

                  // Aktiver Bereich und auslesen der Zeile
                  var row = sheet.getActiveCell().getRow();

                  // Tabellenblattname wo die Daten gespeichert werden sollen
                  var zielTabellenName="Tabellenblatt2";

                  // Auf die Zieltabelle zugreifen
                  var zielTabelle=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(zielTabellenName);

                  // Letzte Zeile der Zieltabelle auslesen
                  var letzteZeileVonZielTabelle=zielTabelle.getLastRow();

                  zielTabelle.getRange((letzteZeileVonZielTabelle+1),1,1,10).setValues(sheet.getRange(row,1,1,10).getValues());
                  }
                  funktioniert nur kopiert er mir da zu viel und nicht das Gewünschte. Wenn ich bei der Zeile zielTabelle.getRange((letzteZeileVonZielTabelle+1),1,1,10).setValues(sheet.getRange(row,1,1,10).getValues())……..; die Zahlen änder bekomm ich entweder nichts oder der wert passt nicht.

                  Antworten
                  • Chris sagt:
                    14. Juni 2018 um 22:32 Uhr

                    Soweit funktioniert das Script einwandfrei wie ich gerade schnell mal getestet habe.
                    Wenn Du einzelne Werte haben willst, dann könntest Du das in etwa so machen:

                    zielTabelle.getRange((letzteZeileVonZielTabelle+1),1).setValue(sheet.getRange(row,1).getValue());

                    Wenn Du vor getValue die 1 zum Beispiel in eine 5 änderst, wird Dir die Zelle in der 5 Spalte in die andere Tabelle kopiert und steht dann dort in der ersten Spalte.
                    Solltest Du größere Bereiche nehmen wollen, dann musst Du Deine Zeile entsprechend anpassen. Du musst aber darauf achten wie das mit den Parametern bei getRange genau funktioniert. Die letzten Beiden Parameter geben sozusagen die Boxgröße an.
                    https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangerow-column-numrows-numcolumns

                    Antworten
            2. Alessandra sagt:
              28. Januar 2020 um 14:56 Uhr

              Hallo Chris

              Vielen Dank für die super Erklärungen und die tollen Videos. Bin grad fleissig daran mich in das scripten einzulesen und habe auch schon ein Projekt dass ich umsetzen möchte. Bei einerSache hänge ich allerdings gerade fest. Vielleicht hast du mir einen Tipp, wie ich folgendes meistern kann:

              Ich möchte ein Script erstellen, dass, wenn in Tabellenblatt 1 (Bereich (A3:H100) Text enthalten ist (z.B. in Spalte A stehen Namen, in Spalte B Beschreibung etc.), die Werte auf Tabellenblatt2 überträgt. Tabellenblatt2 soll eine Art Datenbank werden, mit allen Einträgen, die bisher erfasst wurden und noch so getätigt werden. Aus Tabellenblatt1 werden die Daten immer wieder verschwinden und durch Andere ersetzt, welche dann wieder in Tabellenblatt2 ergänzt werden sollen.
              Werte in Tabellenblatt1 werden teils Händisch eingetragen und ein anderer Teil wird via Sverweis und der Funktion Verketten übertragen…

              Mein Problem ist es, dass ich nicht weiss, wie ich das Script so hinbekomme, dass es mir alle Zeilen in Tabellenblatt2 überträgt, bei denen in Tabellenblatt1 in Spalte O ein Status auf "Erledigt" gesetzt wurde…

              Ich hoffe ich konnte es einigermassen verständlich erklären.
              Falls du eine Lösung hast, würde ich mich freuen.

              Besten Dank
              Alessandra

              Antworten

            Schreibe einen Kommentar zu Alessandra Antwort abbrechen

            Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

            Mehr von mir über Google Tabellen

            • Übersichts-Liste der Google Tabellen Tutorials
            • Übersichts-Liste der GOOGLE Tabellen Script Tutorials
            • Tutorials über Google Tabellen Script – Programmierung
            • Tutorials über Google Tabellen
            • Google Tabellen Script Programmierung
            • Google Tabellen Script Programmierung / Snippets
            • Alle meine Videos auf YouTube
            • Tutorial Wunsch Liste

            Neue Beiträge

            • Excel VBA Kurs – Teil 04: Dynamischen Bereich summieren & Nicht Zahlen markieren
            • Excel VBA Kurs – Teil 03: Zahlen in einem Bereich sicher summieren
            • Excel VBA Kurs – Teil 02: Zellen auslesen, addieren & Ergebnis schreiben
            • Excel VBA Kurs – Teil 01: Start mit Hello World – Modul, Makro, Option Explicit
            • Python in LibreOffice Calc: Formular auslesen und auswerten

            Neue Kommentare

            • Chris bei Eine eigene Funktion erstellen (OpenOffice Calc)
            • osman bei Eine eigene Funktion erstellen (OpenOffice Calc)
            • Erdmann bei Wochentag von einem Datum ausgeben (LibreOffice Calc)
            • Chris bei Tutorial Wunsch Liste
            • Sabine Kniffka bei Tutorial Wunsch Liste

            Schlagwörter

            anfänger Anleitung anpassen ausrechnen auswahlliste Bedingte Formatierung berechnen Calc Datum Download Dropdownliste einfügen entfernen erstellen Excel FreeOffice Funktion google hinzufügen Jahresplan Kalender Lernvideo LibreOffice löschen Makro markieren Microsoft OpenOffice PlanMaker programmierung script spreadsheets Sverweis Tabelle tabellen Tutorial VBA Video Wenn Wenn Funktion Word wps spreadsheets Zeilen Zelle Zellen
            KONTAKT   IMPRESSUM    DATENSCHUTZERKLÄRUNG    HAFTUNGSAUSSCHLUSS (Disclaimer)   © copyright TOPTORIALS