Necesito copiar datos de un rango seleccionado (Y5:Z198) a la celda (Y206) pero de alguna manera solo puedo hacerlo en appendRow y pegar solo en la columna A. ¿Alguien puede ayudarme, por favor?
function CopyData(CopyData) { var ss = SpreadsheetApp.getActive(); var sh1 = ss.getSheetByName("CAPA"); var sh2 = ss.getSheetByName("CAPA"); var rg1 = sh1.getRange("Y5:Z198"); var vA = rg1.getValues(); for (var i = 0; i < vA.length; i++) { if (vA[i][1]) { sh2.appendRow(vA[i]); } } }Prueba este código para copiar los datos.
function CopyData(CopyData) { const dstRow = 206; let ss = SpreadsheetApp.getActive(), sheet = ss.getSheetByName('CAPA'), srcRange = sheet.getRange('Y5:Z198'), srcValues = srcRange.getValues(), filtered = srcValues.filter(item => item[1]); // filter the data being copied // Define the range to insert // 'Y'+dstRow -> Y206 // filtered.length -> the number of rows in the filtered array of data // ':Z'+(dstRow-1+filtered.length) -> bottom right cell sheet.getRange('Y'+dstRow+':Z'+(dstRow-1+filtered.length)).setValues(filtered); }