2017-02-18 4 views
0

Ich möchte Daten aus drei Spalten auswählen und in ein anderes Blatt schreiben.Array in ein anderes Blatt schreiben

Was ist falsch an meinem Code?

function values() { 
 
    var ss = SpreadsheetApp.getActiveSpreadsheet(), 
 
     sheet = ss.getSheets()[0], 
 
     t = ss.getSheetByName('o'), 
 
     range = sheet.getDataRange(), 
 
     values = range.getValues(), 
 
     x = 2; 
 
    
 
    for (var r = 1; r < values.length; r++) { 
 
    var row = values[r], 
 
     n1 = row[1], 
 
     n2 = row[5], 
 
     n3 = row[9], 
 
     array = [n1,n2,n3] 
 
    
 
    for (var y = 0; y < 2; y++) { 
 
     var u = x + y; 
 
     t.getRange(u, 1).setValue(array[y]); 
 
    } 
 
    } 
 
}

+0

versuchen könnte ich mir so leid dies zu posten. Ich habe meinen Fehler gesehen. Ich habe den Zeilencode varu = x + y durch x = x + 1 ersetzt – hbbz040

Antwort

0

Es ist besser, die Werte in einem Array zu schreiben, und dann auf das Blatt in einem Aufruf der Array zu schreiben. Siehe auch: here.

So das Skript optimieren Sie

function values() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(), 
    sheet = ss.getSheets()[0], 
    t = ss.getSheetByName('o'), 
    range = sheet.getDataRange(), 
    values = range.getValues(), 
    x = 2, 
    array =[ ]; 

for (var r = 1; r < values.length; r++) { 
var row = values[r], 
    n1 = row[1], 
    n2 = row[5], 
    n3 = row[9]; 
    array.push([n1,n2,n3]); 
} 
t.getRange(2, 1, array.length, array[0].length).setValues(array); 
} 
Verwandte Themen