Estoy ejecutando este código y obtengo el mismo error después de probar diferentes valores de datos. por favor ayúdame a resolver este error.
function expiredsubsalt() // Function to Move expired members from Active Memberships to Expired Membership Sheet // put the variable to pick the last row and last column and put it into expired sheet { var schedSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Active Memberships"); var archive=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Expired Memberships"); var clno = schedSheet.getLastColumn(); for(r=schedSheet.getLastRow();r>1; r--) //For loop started for all rows { if (schedSheet.getRange(r,9).getValue()== "Expired") { archive.getRange(2,1,archive.getLastRow(),archive.getLastColumn()); archive.appendRow(schedSheet.getRange(r,1,1,clno).getValues()[0]); schedSheet.deleteRow(r); } if (schedSheet.getRange(r,2).getValue()==""){schedSheet.deleteRow(r)} } Logger.log(r) Logger.log(clno) // archive.getRange('A2:I').removeDuplicates(); // archive.getRange().sort([{column: 1, ascending: false}, {column: 2, ascending: true}]); archive.getRange(r,clno).removeDuplicates(); archive.getRange(r,clno).sort([{column: 1, ascending: false}, {column: 2, ascending: true}]); }la línea 824 es - archive.getRange(r,clno).sort([{columna: 1, ascendente: falso}, {columna: 2, ascendente: verdadero}]);
En estas dos líneas:
archive.getRange(r,clno).removeDuplicates(); archive.getRange(r,clno).sort([{column: 1, ascending: false}, {column: 2, ascending: true}]); la variable r que se usa es la misma que se usó anteriormente para recorrer el primer archivo y tiene un valor de 2 independientemente de sus hojas de cálculo. Además, como se ha dicho, su código está tratando de ordenar solo una celda.
Como probablemente desee ordenar y eliminar duplicados de toda la hoja de cálculo del archive , sugeriría cambiar los rangos a algo como:
.getRange(1,1,archive.getLastRow(), archive.getLastColumn())Puede leer más sobre cómo Google Sheets maneja los rangos aquí y cómo puede proporcionar diferentes entradas aquí .