2016-12-29 2 views
0

Ich schreibe ein kleines Skript, um automatisch einige Daten von einem Blatt zu einem anderen Blatt zu kopieren/zu überarbeiten.Kopieren und Verarbeiten mehrerer Zeilen. Ljava.lang.Object Antwort

Ich habe mit dem folgenden Skript kommen:

function test() { 
var sheet = SpreadsheetApp.openById('1sLVRDzzOopFQrXLNtAYKfyBfJthCkjvK8xe_PtOmso0').getSheetByName('Sheet1'); 
var numRows = sheet.getLastRow()-1; 

    for(var i = 0; i < numRows; i++) { 
    // Dispatching Data 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2") 
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1") 

    var data1 = sheet.getRange('Sheet1!A2:G2').getValues(); 

    sheet.appendRow([data1]); 
    ss.deleteRow(2) 
    } 
} 

Es funktioniert völlig in Ordnung, aber das Rück mir folgende Antwort:

Ljava.lang.Object response... für jede Zeile.

Was soll ich tun? Vielen Dank !

Antwort

1

Wenn Sie Ihr Skript verwenden möchten, dann ist die einfache Lösung ist zu ändern:

sheet.appendRow([data1]); 

zu:

sheet.appendRow(data1[0]); 

, weil Sie nur die 1 Zeile wollen.

Allerdings bin ich nicht sicher, was der Punkt Ihrer for-Schleife ist? Dies könnte ein wenig sauberer sein:

function test() { 
    var ss = SpreadsheetApp.openById('ID') 
    var sheet1 = ss.getSheetByName("Sheet1") 
    var sheet2 = ss.getSheetByName("Sheet2") 
    var data1 = sheet1.getRange('Sheet1!A2:G2').getValues(); 
    sheet2.appendRow(data1[0]); 
    sheet1.deleteRow(2) 
} 
+0

Vielen Dank. Es funktioniert perfekt. Über die Schleife. Was passiert ist, dass ich jeden Tag eine unbekannte Anzahl Zeilen in einem Blatt hochgeladen habe. Da ich diese Daten speichern möchte, kopiere ich sie jeden Tag auf ein anderes Blatt. Macht das Sinn? –

Verwandte Themen