Reputation: 21
I am trying to find a way of copying the last row of a form submission to another sheet within the spreadsheet I am working with. All of this would be based on the Value in column 2.
For my current spreadsheet, I have tried different ways but I have not been successful.
function copyLastRow(event) {
var target = SpreadsheetApp.openById('1ulIvWOQIH9MRg9RSW6Xg5iHRikOBFJ0L9XQ46Y_r_6I').getSheetByName('Sheet8'); // copy data into this file & sheet.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses 1'); // name of source sheet.
var lastrow = sheet.getLastRow();
var sourceData = sheet.getRange(lastrow, 1,1, 12).getValues();
target.appendRow(sourceData[0])
}
function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Sheet8" && r.getColumn() == 2 && r.getValue() == "Yes") {
var row = r.getLastRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Sheet7");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
var source = s.getRange(row, 1, 1, numColumns).getValues;
target.appendRow(source[0])
}
}
This is the last code I used (from another post here, can't remember the exact posts) and it does not seem to work. Also, this last code was not really what I wanted either - since it uses two steps instead of one.
https://docs.google.com/spreadsheets/d/1ulIvWOQIH9MRg9RSW6Xg5iHRikOBFJ0L9XQ46Y_r_6I/edit?usp=sharing
As I mentioned, I would like (if possible) that once the form is submitted the value of "Yes" in column 2 (in the spreadsheet) transfers that row to another sheet (Sheet name = Yes) where all the rows with the value "Yes" would be taken managed.
The same would happen if the answer "No". The "Form Responses 1" would be my main sheet and the other two would have individual values organized.
Thanks in advance!
Upvotes: 1
Views: 249
Reputation: 64100
How about this?
function copyLastRow(event)
{
var target = SpreadsheetApp.openById('1ulIvWOQIH9MRg9RSW6Xg5iHRikOBFJ0L9XQ46Y_r_6I').getSheetByName('Sheet8');
if(event.values[1]=='Yes')
{
target.appendRow(event.values);
}
}
Upvotes: 1