I have this script in Google Sheets which is able to archive range Sheet1!A5:H
to Sheet2
function tc() {
var reference = 'sheet1!A2';
var rng = SpreadsheetApp.getActiveSpreadsheet().getRange(reference);
rng.setValue(rng.getValue()+1);
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var source = ss.getRange ("Sheet1!A5:H");
var destSheet = ss.getSheetByName("Sheet2");
var lastRow = destSheet.getLastRow();
destSheet.insertRowAfter(lastRow);
source.copyTo(destSheet.getRange(lastRow + 1,1), {contentsOnly: true});
}
The issue is that this will also archive all empty rows from that range.
Is there a way how to skip archiving empty rows from a given range?
I tried to add something like var filtered_input = source.filter(String);
but this didn't do the trick. Can someone help me out?
Sheet1 looks like:
Sheet2 looks like this after running the script 2 times: