Mein erstes Script programmieren mit Google Tabellen

Mein erstes Script programmieren mit Google Tabellen

Das programmieren von Scripten kann wirklich richtig süchtig machen. Ich zeige Euch hier mein erstes Script welches ich in Google Tabellen über den Script-Editor erstellt habe.



Ich habe im Laufe der Zeit noch sehr viel mehr Tutorials über die Google Script Programmierung gemacht.
Für alle die nach Tutorials suchen könnte diese Seite sehr interessant sein:
Übersichts-Liste der GOOGLE Tabellen Script Tutorials
Zusätzlich gibt es noch eine kleine Sammlung von Google Scripten oder Snippets die man nutzen könnte:
Google Tabellen Script Programmierung / Snippets

Dieses Tutorial ist auf eine Anfrage entstanden wo ich gefragt wurde ob es nicht möglich ist automatisch eine Zeile aus einem anderen Tabellenblatt zu kopieren. Das ganze ist dann ein wenig interessanter geworden weil ich auch gleichzeitig die Suche über einen SVerweis mit eingebaut habe. Ihr könnt also einfach einen Artikelnamen eingeben und über die Suche mit dem SVerweis werden aus dem anderen Tabellenblatt die Daten gesucht und die vollständigen Daten automatisch angezeigt. Mit einem Button welches das Script aufruft werden die Daten dann im aktuellen Tabellblatt hinzugefügt. Wie das alles Funktioniert und wie Ihr das Script in Eure Tabelle über den Script-Editor einfügen könnt zeige ich Euch in dem Video-Tutorial welches Ihr ganz unten findet.
Nachfolgend ist die Funktion die Ihr einfach im Script – Editor hineinkopieren müsst.

Hier mein erstes Script zum Kopieren

Ich habe die Zuweisungen etwas angepasst, da mir als Anfänger ein kleiner Fehler im Script unterlaufen ist (getCell wurde entfernt). Danke für den Hinweis Michael 😉
Heute würde ich das vermutlich sowieso noch etwas anders programmieren aber für das erste Mal finde ich das schon ganz ok.

Die Benutzung von diesem Script geschieht natürlich wie immer auf eigene Gefahr.

Ein interessanter Tipp

Um noch sehr viel mehr über die Script – Programmierung in GOOGLE TABELLEN zu lernen könnt Ihr auch mal versuchen ein paar Makros zu erstellen. Ihr könnt Euch diese Makros nämlich später auch im Script – Editor anschauen und sehen wie die einzelnen Funktionen heißen die Ihr bei der Makroaufzeichnung verwendet habt.
Ein Tutorial für die Erstellung von einem Makro findet Ihr hier:
Ein Makro mit Google Tabellen aufzeichnen

 

Euch gefällt die Datei und Ihr wollt Euch unbedingt bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉

Funktionen lassen sich spielend einfach über den Script – Editor schreiben. Damit lassen sich noch interessantere Projekte erstellen, die entweder sehr schwer oder gar nicht über das normale Tabellen-Dokument oder Tabellen-Blatt möglich sind. Es stehen damit eine Menge mehr Möglichkeiten offen und man kann seiner Kreativität freien Lauf lassen

Das  Tutorial welches Euch zeigt wie das gemacht wird, könnt Ihr Euch natürlich auch gerne hier oder über YouTube ansehen.

Viel Spaß dabei 😉

 



Das könnte Dich auch interessieren

23 Kommentare

  1. Zu meiner ersten Mail als Ergänzung:

    Trotz richtigem Passwort und E-Mail Adresse erfolgt (wie in einer Endlosschleife) nach der Anmeldung der folgende Kommentar:

    Diese App wurde nicht überprüft

    Diese App wurde noch nicht von Google überprüft. Sie sollten nur fortfahren, wenn Sie den Entwickler als vertrauenswürdig ansehen.

    Sage ich ja, erfolgt der Anmeldeprozess erfent, danach wieder die obige Meldung usw. und so fort…

    • Chris sagt:

      Normalerweise sollte das ohne Probleme funktionieren.

      – Projekt im Editor speichern
      – Anschließend die entsprechende Funktion auswählen
      – Auf das Debuggen Symbol klicken
      – Berechtigung ansehen auswählen
      – Richtiges Konto auswählen
      – Erweitert
      – Ganz unten im Bereich Unbenanntes Projekt öffnen (unsicher) klicken (natürlich immer auf eigene Verantwortung)
      – Zulassen anklicken (vorausgesetzt man möchte den Zugriff gestatten)

      Fertig. So funktioniert es zumindest bei mir und habe ich soeben nochmal getestet.

  2. Manuel sagt:

    Hallo,

    nettes HowTo, ich habe ein paar Fragen zum Programmieren.
    Wie bekomme ich es denn hin das ich ein DropDown Menü erstelle und die URLS mit "importUrl" versehe, der Hintergrund soll sein das mir bei der Auswahl jedesmahl eine andere Tabelle einer Webseite geladen wird.

    Und dann würde mich auch mal Intressieren wie man Felder "Zellen" mit Namen so formatiert das die Zeilen Zuweisung oder Berechnung von alleine läuft.

    Würde mich über ein Tipps freuen

  3. Hallo, ich bin Anfänger in dieser Sprache und stolpere über ein scheinbar einfaches Problem:
    In einem Spreadsheet-Bereich gibt es markierte rote (zusammenhängende) Zellen, in denen sich schriftliche Eintragungen befinden.
    Dieses Sheet soll als Exceldatei in einer Email versendet werden. Vorher muss die Schrift sichtbar (=weiß) gemacht werden und nach dem Absenden wieder rot wie der Hintergrund, also unsichtbar.

    Mein Script ist:
    [CODE]
    function getGoogleSpreadsheetAsExcel()
    {
    // macht die Schriftfarbe im Bereich sichtbar
    var range = SpreadsheetApp.getActiveSheet().getRange("B5:BZ1000");
    var color="#ffffff";
    range.setFontColor(color);

    //sendet die Email
    var ss = SpreadsheetApp.getActive();
    var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + ss.getId() + "&exportFormat=xlsx";
    var params =
    {
    method : "get",
    headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
    muteHttpExceptions: true
    };
    var blob = UrlFetchApp.fetch(url, params).getBlob();
    var now = new Date();
    blob.setName(ss.getName() + " " + now +".xlsx");
    MailApp.sendEmail("hstauche@versanet.de", "Aktuelles Google Sheet als Excel-Datei", "Die Excel-Datei befindet sich im Anhang dieser Email.", {attachments: [blob]});

    // macht vor dem Beenden der Funktion den Text unsichtbar
    var range = SpreadsheetApp.getActiveSheet().getRange("B5:BZ1000");
    var color="#ff0000";
    range.setFontColor(color);
    }
    [/CODE]

    Während das Senden der Mail und der letzte Abschnitt (unsichtbar machen) tadellos ausgeführt wird, funktioniert der erste nicht (sichtbar machen). Da ich völlig analog geschrieben habe, habe ich keine Erklärung.

    Danke im Voraus für eine Aufklärung und FG Helmut

    • Chris sagt:

      Hallo Helmut, hast Du zum Testen mal versucht statt weiß die Farbe Schwarz zu benutzen.
      Die Formeln an sich sind ja korrekt und wenn man die Bereiche einzeln benutzt funktioniert das auch ohne Probleme. Der erste Teil macht die Schrift weiß, was natürlich bei einem roten Hintergrund auch zu sehen ist. Da aber anschließend direkt wieder der Text auf rot gesetzt wird sieht man das sichtbar machen nicht. Wenn in Excel selbst die Hintergrundfarbe weiß ist, dann sieht man den Text ebenfalls nicht. Ich weiß jetzt nicht in wie weit die Tabelle mit den Formatierungen übernommen wurde. Das mit der Textfarbe wäre erst einmal ein Versuch wert (sichtbare Farbe z.B. blau oder schwarz).
      Wenn Du einige Tutorials von mir gesehen hast, weißt Du ja dass ich auch nur Hobbyprogrammierer bin und selbst noch einiges zu lernen habe 😉

  4. Hallo Chris, danke für deine schnelle Reaktion. Leider ist es völlig egal, welche Schriftfarbe man zum Sichtbarmachen nimmt, Alle anderen Inhalte und Formatierungen des Sheets werden tadellos in Excel übernommen. Nach meiner Logik müssten die Scriptzeilen nacheinander ausgeführt werden, also das Versenden als Exceldatei sollte erst nach dem Weiß-Machen der Schrift ausgeführt werden. Ist hier vielleicht ein Denkfehler?

    Wäre es denkbar, dass du oder ein(e) ander(e) aus dem Forum mein Script mal ausprobiert.
    a. ein eigenes Google Spreadsheet öffnen
    b. im Bereich B5:BZ1000 einigen zusammenhängenden Zellen einen roten Hintergrund geben ("#ff0000").
    c. in in eine beliebige Zelle des roten Bereichs etwas mit weißer Schrift schreiben
    d. die Schriftfarbe danach ebenfalls rot ("#ff0000") machen, so dass man die Schrift nicht mehr sieht
    e. mein Script testen (vorher zum Ausprobieren aber meine Mailadresse durch eure eigene ersetzen)

    Es soll Folgendes passieren:
    Teil 1. Die rote Schrift soll weiß werden.
    Teil 2. Das Sheet soll als Excel-Datei an eure Mailadresse versendet werden, und zwar mit weißer Schrift.
    Teil 3. Die Schrift im Google-Sheet soll nach dem Versenden rot – also unsichtbar – sein.

    Die Teile 2. und 3 funktionieren, Teil 1. nicht, d.h. im Excel-File ist die Schrift nur dann weiß, wenn man den Punkt d. (oben) weglässt.
    Werden die ersten drei Zeilen nicht ausgeführt? Wenn ja, warum? Oder???.

    Danke, eine Hilfe wäre wirklich wichtig. Ich hab hier niemanden, der sich damit auskennt.
    FG Helmut

    • Chris sagt:

      Versuche mal den folgenden Befehl nach dem Du die Textfarbe in weiß geändert hast.
      Das sollte das Problem lösen:
      SpreadsheetApp.flush();

      Viele Grüße
      Chris

  5. Danke Chris, darauf wäre ich als Einsteiger nie gekommen.
    Obwohl dies eine ehrenamtliche Auftragsarbeit war (umfangreiches Ausleihsystem, der größte Teil in PHP), habe ich doch Feuer gefangen und werde – wenn sinnvoll – zukünftige Ideen mit Google Apps Script realisieren.
    Ich bewundere die Vielfältigkeit deiner Arbeiten. Vor allem auch die Tutorials zu OpenOffice werden mir für meine beiden PC-Kurse mit Senioren Anregungen liefern und den Teilnehmer*innen eine gute Möglichkeit für die Übungen zuhause bieten.

    Viele Grüße
    Helmut

    PS Evtl. könntest du für deine Kommentare – wie in Foren üblich – eine extra Formatierung für Code einbauen.

    • Chris sagt:

      Super das es jetzt geklappt hat 😉
      Ich danke Dir auch für die vielen Komplimente.
      Die Google Tabellen Script-Programmierung kann wirklich sehr viel Spaß machen. Man muss wirklich aufpassen dass man nicht süchtig wird 😉
      Da Du Dich aber mit PHP auskennst und bestimmt auch mit MySQL wirst Du viele Sachen eher damit machen. Gerade wenn es um sehr große Datenmengen geht würde ich vermutlich auch darauf zugreifen. Vor allem weil man da alles komplett erstellen kann (Backend, Frontend) und es auch verdammt schnell ist. Der Aufwand ist aber um einiges größer 😉
      Und so ein Einsteiger bist Du in meinen Augen gar nicht, denn die Funktion und Ideen die Du in dem Script nutzt ist für mich schon als fortgeschritten zu sehen.
      Das mit der Code Formatierung ist nicht ganz so leicht. Ich habe schon einige Plugins gesucht aber nichts passendes gefunden. Die guten Plugins halte ich teilweise für etwas fragwürdig was den Datenschutz angeht. Ich muss mal schauen ob ich das selbst umprogrammieren kann. Das wird aber auch etwas dauern.
      Ich würde mich natürlich auf jeden Fall freuen wenn meine Seite weiter empfohlen wird 😉
      Viele Grüße
      Chris

  6. Alex sagt:

    Hallo! vielen Dank für die Super Erklärungen! Ich würde gerne noch die ausgeworfenen Einträge am Ende zusammen rechnen.
    Habe es versucht mit dem Befehl =Summe aber der klappt nicht.
    Ich nehme an der Script gehört umgeschrieben damit in einer definierten Zeile ausgeworfen wird und nicht immer auf der letzten Zeile.
    könntest du mir da weiterhelfen?
    mfg alex

    • Chris sagt:

      Wo hast Du denn versucht die Funktion SUMME anzuwenden. Direkt im Script oder hast Du das in der Tabelle selbst benutzt?
      Über die Funktion sollte es eigentlich innerhalb der Tabelle klappen. Im Script ist das je nachdem wie Du das alles aufgebaut hast etwas komplizierter, weil erst am Ende aller Aktionen der Bereich mit den Werten eingelesen werden müsste um diese dann anschließend zu summieren. Es gibt dafür verschiedene Vorgehensweisen.
      Viele Grüße
      Chris

  7. Philipp sagt:

    Moin Chris,

    ich habe mit einem GoogleSheet noch Probleme. Ich habe per Makro ein Script hinterlegt, dass aus einem Tabellenblatt (A) einen Bereich über 10 Spalten auf ein Tabellenblatt (B) überträgt und danach die Inhalte im Tabellenblatt (A) löschen soll. Nun überträgt er aber teilweise nicht den gesamten Bereich sondern lässt partiell einige Stellen aus. Dies geschieht scheinbar willkürlich. Können wir diesbezüglich in Kontakt treten?

    • Chris sagt:

      Hast Du denn anstelle des aufgezeichneten Makros mal ein normales Script versucht?
      Das wäre dann in etwa so etwas hier:
      https://toptorials.com/zellenbereich-kopieren-google-tabellen-script/

      https://toptorials.com/zellen-in-andere-tabellen-kopieren-google-tabellen-script-snippet/
      Warum das jetzt bei dem Makro nicht funktioniert kann ich nicht sagen. Normalerweise sollte das Script ja funktionieren was als Makro aufgezeichnet wird.
      Solche Zeilen sehen meiner Meinung nach problemlos aus:
      spreadsheet.getRange('10:10').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
      Aus zeitlichen Gründen kann ich leider keinen persönlichen Support geben.
      Ich bitte um Dein Verständnis.
      Viele Grüße
      Chris

      • Philipp sagt:

        Vielen Dank für die schnelle Rückmeldung. Mir ist bewusst, dass nicht auf jedes Problem individuell eingegangen werden kann. Ich habe heute nochmal das Makro aufgenommen und minimal verändert. Es schein problemlos zu laufen. Im Makro scheint er sich aufzuhängen wenn man sagt "füge 10 Zeilen über einem Bereich ein" Ich hab dies nun 10x einzeln gemacht. Weil ich leider nicht weiß, ob ich in dem Script vorgeben kann, dass er nur Zeilen wegschiebt, wo die Spalte A Daten "" enthält.

        Falls du Lust hast, kannst du gerne drüber schauen. Erwarten tue ich es nicht. Konnte mir schon jede Menge selbst aneignen hier. Vielen Dank dafür!

        function Archivierung() {
        var spreadsheet = SpreadsheetApp.getActive();
        spreadsheet.getRange('A5').activate();
        spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Archiv'), true);
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('1:1').activate();
        spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
        spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
        spreadsheet.getRange('2:11').activate();
        spreadsheet.getActiveRangeList().setBackground('#ffffff')
        .setFontWeight(null);
        spreadsheet.getRange('D4').activate();
        spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Tabellenblatt1'), true);
        spreadsheet.getRange('A5:N14').activate();
        spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Archiv'), true);
        spreadsheet.getRange('A2').activate();
        spreadsheet.getRange('Tabellenblatt1!A5:N14').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
        spreadsheet.getRange('A2').activate();
        spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Tabellenblatt1'), true);
        spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
        spreadsheet.getRange('K19').activate();
        spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
        spreadsheet.getRange('J19').activate();
        spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
        spreadsheet.getRange('A5').activate();
        };

  8. Waloe Paul sagt:

    Hallo, Echt super aufgearbeitet. Was ich jetzt nicht ganz verstehe ist wie ich das script so umändere damit er das gleich für alle Zeilen die in der Tabelle sind macht und somit gleich 50 oder mehr Termine erstellt. wäre super wenn du mir da weiterhelfen könntest.

    Danke
    Lg Paul

  9. Christian Logemann sagt:

    Hallo,
    Ich weiß nicht ob ich in diesem Thread richtig bin.
    Hier meine Frage:
    Ich möchte beim betätigen eines Kästchens in einer anderen Spalte (gleiche Zeile) einen Zeitstempel setzen.

    function onEdit(){

    //aktuelles Tabellenblatt auswählen
    var ss = SpreadsheetApp.getActiveSheet()
    //Spalte in der der Zeitstempel eingetragen weden soll
    var zeitStempelSpalte=8;
    // Zeile ab der der Zeitstempel eingetragen weden soll
    var zeitStempelZeile=2;
    //Ermittlung der aktiven Zelle und auslesen der Zeile
    var AbfrageZelle = ss.getActiveCell();
    var aktuelleZeile = AbfrageZelle.getRow();
    //Definition und Formatierung des Zeitstempels
    var zeitStempel = new Date();
    var zeitStempelFormat="dd.mm.yyyy";
    //setzen des Zeitstempels wenn die Bedingung erfüllt ist
    if(AbfrageZelle.isChecked()){
    ss.getRange(aktuelleZeile, zeitStempelSpalte).setValue(zeitStempel).setNumberFormat(zeitStempelFormat);
    }
    else
    ss.getRange(aktuelleZeile, zeitStempelSpalte).setValue("");
    }
    Dieser Code löscht mir allerdings die Überschrift in Zeile 1, Spalte 8

    Wie muss ich den Code ändern, dass die Überschrift nicht entfernt wird?

    Danke im Vorraus

  10. schorsch sagt:

    Hallo,
    nutze ich Google Tabellen auf meinem Windows-Computer wird das Makro (per Button Klick) ausgeführt.
    Nutze ich Google Tabellen auf meinem Android Tablet, funktioniert der Klick auf den Button nicht oder wird scheinbar nicht als solcher registriert. Das Makro wird nicht ausgeführt.

  11. Herbert Bauerstätter sagt:

    Hallo Chris!

    Super Anleitung – hab mir daraus, in Kombination mit dem ToDo-Skript, auch was sehr nettes gebastelt aber….
    was mir jetzt fehlt und ich nach gut 2 Std. suchen im Web leider auch nicht finden konnte ist, wie ich eine Checkbox kopieren kann mit diesem Skriptaufbau.

    Konkret:
    In Zelle 4,4, die mit den anderen Zellen in Zeile 4 kopiert werden soll wie im vorliegenden Beispiel, befindet sich eine Checkbox. (unchecked)
    Bei Ausführung des Skripts wie angegeben wird in die Zielzelle am Ende der Liste nur "FALSE" ausgegeben anstatt wieder eine Checkbox und man muss manuell nachbessern.
    Diesen Vorgang hätte ich aber natürlich gern im Skript integriert.

    Hast du eine Lösung dazu?
    Danke und bG

  12. Mavs sagt:

    Ist es möglich das Anhängen der Daten in einer bestimmten Zeile zu machen oder geht dies nur durch "appendRow"? Und welchen Befehl müsste man dann verwenden um eine bestimmte Zeile anzusteuern?

  13. Gerd sagt:

    Hallo Chris,

    ich habe das Problem das das Script zu lange läuft, also die ganze Zeit über solange die Maus noch gedrückt ist.
    Es sollte eigentlich so sein das das Script mit dem Mausklick nur 1 mal durchläuft und nicht ständig.
    Es soll also ein Wert um eins erhöht werden. Bei mir meckert er das es zu einem Zirkelbezug kommt.

  14. Peter sagt:

    Hallo, bin auf der Suche wie genau der Befehl lautet um eine andere function aus einer function auf zurufen. habe quasi eine function geschrieben mit der ich einen Kalender synchronisiere, diese möchte ich mit verschiedenen Möglichkeiten aufrufen wie trigger, SideMenu (das funtioniert auch alles und eben aus einer function die Eingaben prüft und dann in einer AbfrageBox frägt ob der Sync ausgeführt werden soll, dann muss in dieser function die function zum Synchronisieren aufgerufen werden. Ich suche jetzt schon eine Stunde im Netz und kann einfach den genauen Aufruf nicht finden. Bitte um Hilfe. Danke

  15. Pete sagt:

    Hallo Chris,
    erstmal vielen dank für deine ganz erklärungen so wie Videos.
    ist es möglich von Tabellenblatt1 einen bestimmten bereich zu kopieren / verschieben . wenn alle Daten dort eingetragen sind?
    die dann auf Tabellenblatt2 eingefügt werden, aber nur die werte ohne Datenvalendierung ohne hintergrundfarben ?
    und wenn das erfolgreich war die daten auf tabellenblatt2 zu löschen ?
    und das bei neuer eingabe der Daten dann auf Tatenblatt2 hinten dran gehangen werden und nicht das die alten überschrieben werden ?

Schreibe einen Kommentar

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