2016-09-22 2 views
0

Ich glaube, ich habe ein grundlegendes Missverständnis darüber, wie getRange oder setValue funktioniert.Kopieren und Einfügen von Bereichen mit Google Apps Script

Ich möchte die letzte Zeile der Daten kopieren, Spalten 1-5, und fügen Sie sie in eine andere Tabelle in der ersten Zeile, Spalten 1-5.

Wenn ich mein Skript ausführen, legt es den Wert der letzten Zeile, erste Spalte in die erste Zeile und in allen 5 Spalten.

Also, wenn ich Mon, Di, Mi, Do, Fr in den Quelldaten habe, was dann in die zweite Tabelle eingefügt wird bekomme ich Mon, Mon, Mon, Mon, Mon.

Dank

function myFunction() { 
// Last Row 
    var ss = SpreadsheetApp.getActiveSheet(); 
    var lastRow = ss.getLastRow() 

// Assign last row from source data to variable 
    var lastRowSourceData = ss.getRange(lastRow,1,1,5).getValue() 


// Paste form values into master log 
    var makeEntryHere = SpreadsheetApp.openById('1kBfBHnNFyqC-ACyHs6Q09IYj2TzF3RWBwp-yvYtxd34').getSheetByName('sheet1').getRange(1,1,1,5); 
    makeEntryHere.setValue(lastRowSourceData); 
} 

Antwort

1

ist Ihr Code ganz gut, richtig .getValue()-.getValues() und .setValue() zu .setValues() jeweils und es sollte funktionieren:

function myFunction() { 
// Last Row 
var ss = SpreadsheetApp.getActiveSheet(); 
var lastRow = ss.getLastRow(); 

// Assign last row from source data to variable 
var lastRowSourceData = ss.getRange(lastRow,1,1,5).getValues(); 


// Paste form values into master log 
var makeEntryHere = SpreadsheetApp.openById('1kBfBHnNFyqCACyHs6Q09IYj2TzF3RWBwp-yvYtxd34').getSheetByName('sheet1').getRange(1,1,1,5); 
makeEntryHere.setValues(lastRowSourceData); 
} 
Verwandte Themen