2017-01-10 1 views
0

Ich möchte die letzte Antwort von einem Google Formular übernehmen und sie in den gleichen Bereich auf ein anderes Blatt kopieren.Kopiere einen Bereich von der letzten Zeile in ein neues Blatt

Das zweite Blatt enthält einige Daten in den Spalten A & B (ein Login und Passwort), die ich zuordnen möchte, wenn jemand das Registrierungsformular ausfüllt.

Ich möchte, dass die Daten aus Spalte B nach H aus dem Formularantwortblatt in die Spalte C nach I auf dem Blatt kopiert werden, das die Spalten login/password enthält, wenn eine Antwort empfangen wird.

Ich weiß, dass mir der Code fehlt, um den Bereich aus der letzten Zeile zu nehmen, aber ich kenne KEINE Codierung und mein aktuelles Skript ist kompiliert aus Dingen, die ich im Internet und im Referenzmaterial gefunden habe.

Jeder Rat würde sehr geschätzt werden.

function onEdit(e) { 


    var spreadsheet = SpreadsheetApp.openById("sheetid"); 
    var sheet = spreadsheet.getSheets()[0]; 


    var lastrow = sheet.getLastRow(); 
    var range = sheet.getRange(2,2,1,7); 
    values = range.getValues(); 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var SSsheet = ss.getSheets()[1]; 


    var ssRange = SSsheet.getRange(2,3,1,7); 
    ssRange.setValues(values); 

    } 
+0

Auf welcher Grundlage kopieren Sie Daten von Blatt 1 nach Blatt 2? Oder kopieren Sie nur Formularantworten Zeile für Zeile auf Blatt 2? Sind die Spalten A und B von Blatt 2 bereits gefüllt? Ein Vorschlag: Wenn Sie die letzte Zeile aus dem Antwortblatt erhalten, schreiben Sie 'var range = sheet.getRange (lastrow, 2,1,7)'. Da die Parameter sind: Zeile, Spalte, Anzahl der Zeilen und Nr. von cols –

+0

War meine Antwort hilfreich? – noogui

Antwort

0

Versuchen Sie, copyTo(destination) zu verwenden. Es kopiert die Daten aus einer Reihe von Zellen in einen anderen Bereich von Zellen. Sowohl die Werte als auch die Formatierung werden kopiert.

// The code below will copy the first 5 columns over to the 6th column. 
var sheet = SpreadsheetApp.getActiveSheet(); 
var rangeToCopy = sheet.getRange(1, 1, sheet.getMaxRows(), 5); 
rangeToCopy.copyTo(sheet.getRange(1, 6)); 
} 

Sie können auch versuchen, copyValuesToRangecopyValuesToRange zu verwenden.

Weitere Codebeispiele finden Sie unter .

Verwandte Themen