Ich möchte eine Schaltfläche in meinem Blatt erstellen, die 'benutzerdefinierte Objekte' von einem Blatt (Daily Lab Orders) in die letzte Zeile des. Kopiert (oder ausschneidet) fertiges Blatt (Fertigstellung 2016), sobald sie fertig sind. Ich möchte dann, dass es die Zeile löscht, die das 'benutzerdefinierte Element' enthält. Logischerweise dachte ich, ich würde die Zeile auswählen, auf die Schaltfläche klicken und dies für jedes "benutzerdefinierte Element", das fertig ist, immer wieder ausführen.Google Sheets/AppScript - Kopieren von Daten von einem Blatt in ein anderes
Der Fehler, den ich habe, ist, dass das Skript nur Zelle A1 kopiert. Es kopiert keine anderen Werte entlang der ersten Zeile und es wird nichts unter Zeile 1 kopiert. A1 ist eingefroren und verwendet die Funktion NOW(), um die Zeit ständig zu aktualisieren.
Unten ist mein Skript. Irgendwelche Hilfe, bitte? Vielen Dank. *
* Der Teil zum Löschen der Zeilen wurde noch nicht geschrieben.
function myFunction() {
var ss = SpreadsheetApp.openById('15yEY5ZX1HyOQFn-BkMXvksivADF3-8g9TnsIEI8aaL8'); //replace with source ID
var source = ss.getSheetByName('Daily Lab Orders 2016'); //replace with source Sheet tab name
var SRange = source.getActiveRange(); //assign the range you want to copy
var SData = SRange.getValues();
var target = ss.getSheetByName('Finished 2016'); //replace with destination Sheet tab name
var last_row = target.getLastRow();
var target_range = target.getRange("A"+(last_row+1)+":G"+(last_row+1))
target.getRange(target.getLastRow()+1, 1, SData.length, SData[0].length).setValues(SData);
}
Es ist nicht klar, wie Sie myFunction auslösen. Wenn Sie dies außerhalb der Tabelle auslösen, gibt getActiveRange() möglicherweise nicht den Bereich zurück, den Sie in einer bestimmten Kopie des Blattes ausgewählt haben. Kannst du erklären, wie du myFunction() anrufst? –