I need to use a script that sends data from one sheet to a different one and to clear the values after writing on a specific cell.
I've tried onEdit and it clears the values but doesn't insert them in the second sheet. This is the code I have so far:
function onEdit(e) {
if (e.range.getA1Notation() == "F6"){
//Copiar los datos originales
var ss1 = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss1.getSheetByName("Hoja 1");
var A = sheet1.getRange("B5").getValues();
var B = sheet1.getRange("F5").getValues();
var C = sheet1.getRange("A8:F22").getValues();
//Borrar valores de la hoja de origen después de copiar
var borrar = sheet1.getRange("B5").clearContent();
var borrar = sheet1.getRange("F6").clearContent();
var borrar = sheet1.getRange("A8:F22").clearContent();
//Spreadsheet en la que voy a copiar lo anterior
var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1zF84h_gR0zHPqwobYyuOQlo50L2ktpZr2e4orMNtqE8/edit#gid=382646794');
var sheet = ss.getSheetByName("PEDIDOS SIN ORDENAR");
var lastRow = sheet.getLastRow() + 1;
//Insertar los valores
var destRange = sheet.getRange(lastRow, 1, A.length, A[0].length).setValues(A);
var destRange = sheet.getRange(lastRow, 2, B.length, B[0].length).setValues(B);
var destRange = sheet.getRange(lastRow, 3, C.length, C[0].length).setValues(C);
}}
If I change the name of the code and don't condition it to the content of cell F6, then the code runs completely. For that reason I tried to use a button, which works perfetly fine in PC but I need it to work also in mobile devices and buttons don't work with Android.
My last try was:
function Enviar() {
//if (e.range.getA1Notation() == "F6"){
//Copiar los datos originales
var ss1 = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss1.getSheetByName("Hoja 1");
var A = sheet1.getRange("B5").getValues();
var B = sheet1.getRange("F5").getValues();
var C = sheet1.getRange("A8:F22").getValues();
//Borrar valores de la hoja de origen después de copiar
var borrar = sheet1.getRange("B5").clearContent();
var borrar = sheet1.getRange("F6").clearContent();
var borrar = sheet1.getRange("A8:F22").clearContent();
var D = sheet1.getRange("F6").getValues()
if (D == "SI"){
//Spreadsheet en la que voy a copiar lo anterior
var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1zF84h_gR0zHPqwobYyuOQlo50L2ktpZr2e4orMNtqE8/edit#gid=382646794');
var sheet = ss.getSheetByName("PEDIDOS SIN ORDENAR");
var lastRow = sheet.getLastRow() + 1;
//Insertar los valores
var destRange = sheet.getRange(lastRow, 1, A.length, A[0].length).setValues(A);
var destRange = sheet.getRange(lastRow, 2, B.length, B[0].length).setValues(B);
var destRange = sheet.getRange(lastRow, 3, C.length, C[0].length).setValues(C);
}}
This last try doesn't seem to do anything at all. None of my tries shows error, the script runs but doesn't give the expected results.
I don't know what else I could do. Please I need some help.
Aucun commentaire:
Enregistrer un commentaire