Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

311
Vistas
Excepción: los parámetros (String,number,String) no coinciden con la firma del método para SpreadsheetApp.Spreadsheet.getRange

Estoy tratando de copiar las primeras 7 columnas de la hoja de cálculo 1 (369) y la hoja de cálculo 2 (370) y pegarlas en la hoja de cálculo 3 con el número 369 y 370 junto a los datos, pero sigo recibiendo este error y no sé por qué.

 function MoveCode(){ wn1=369; wn2=370; wn3=371; wn4=372; const ssActive = SpreadsheetApp.getActive(); const sshActive = ssActive.getSheetByName('Sheet1'); const ss369 = SpreadsheetApp.openById("1A3tJiIEkDP_5R6mEY25IeAsO2XV_oveJwnUovxRd-1U");//or url whatever const dsh369 = ss369.getSheetByName('Sourcing'); const lastRow369 = dsh369.getLastRow();//getting the last row //Adding the week number to the first row sshActive.getRange("A2").setValue("Week Number") var number369 = (dsh369.getLastRow()-2).toString(); number369 = number369.replace(".0",""); sshActive.getRange(3,1,number369).setValue(wn1); Logger.log(number369); const vs369 = dsh369.getRange(2, 1, lastRow369 - 1, 7).getValues();//we are getting the data and storing it in vs sshActive.getRange(2, 2, vs369.length, vs369[0].length).setValues(vs369);//we are pasting the code to the new sheet from dsh const ssActive370 = SpreadsheetApp.getActive(); const sshActive370 = ssActive370.getSheetByName('Sheet1'); const ss370 = SpreadsheetApp.openById("1HL1OH0ghlQCS7fMZsiVKI9ELab8HRVXW6QtruPiKedY"); const dsh370 = ss370.getSheetByName('Sourcing'); const lastRow370 = dsh370.getLastRow();//getting the last row var number370 = (dsh370.getLastRow()-2).toString(); number370 = number370.replace(".0",""); Logger.log(number369); Logger.log(number370); ssActive370.getRange(number369+3,1,number370).setValue(wn2); Logger.log(number370); const vs370 = dsh370.getRange(2, 1, lastRow370 - 1, 7).getValues();//we are getting the data and storing it in vs ssActive370.getRange(number369+3, 2, vs370.length, vs370[0].length).setValues(vs370);//we are pasting the code to the new sheet from dsh }

No estoy muy seguro de por qué me está dando ese error, porque estoy usando (número, número, número) , creo .

El error está en la línea 34.

Si necesita más información por favor hágamelo saber

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Probar:

 ssActive370.getRange(parseInt(number369+3),1,parseInt(number370)).setValue(wn2);

Intenta hacer la copia de esta manera:

 function MoveCode() { const ss369 = SpreadsheetApp.openById("1A3tJiIEkDP_5R6mEY25IeAsO2XV_oveJwnUovxRd-1U"); const ss370 = SpreadsheetApp.openById("1HL1OH0ghlQCS7fMZsiVKI9ELab8HRVXW6QtruPiKedY"); const ssActive = SpreadsheetApp.getActive(); const ssh = ssActive.getSheetByName('Sheet1'); const dsh369 = ss369.getSheetByName('Sourcing'); const dsh370 = ss370.getSheetByName('Sourcing'); const vs369 = dsh369.getRange(2, 1, dsh369.getLastRow() - 1, 7).getValues(); const vs370 = dsh370.getRange(2, 1, dsh370.getLastRow() - 1, 7).getValues(); ssh.getRange(2, 2, vs369.length, vs369[0].length).setValues(vs369); //SpreadsheetApp.flush();//you might want this ssh.getRange(ssh.getLastRow() + 1, 2, vs370.length, vs370[0].length).setValues(vs370);//you may have to reposition the starting row here }

Dejé un par de cosas como poner el encabezado "Número de semana" en la columna A y algo que estabas haciendo con los wns en la parte superior que parecía innecesario. Pero la copia básica debe ser relativamente cercana a lo que desea.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Problema y solución:

Pensé que en su script, el error ocurre en ssActive370.getRange(number369+3,1,number370).setValue(wn2); y ssActive370.getRange(number369+3, 2, vs370.length, vs370[0].length).setValues(vs370); . Porque ssActive370 es el objeto de Class Spreadsheet de const ssActive370 = SpreadsheetApp.getActive(); . El método de "getRange" en Class Spreadsheet es solo getRange(a1Notation) . Pensé que esta es la razón de su problema de Exception: The parameters (String,number,String) don't match the method signature for SpreadsheetApp.Spreadsheet.getRange . Para usar getRange(row, column, numRows) y getRange(row, column, numRows, numColumns) , se requiere usar el método de Class Sheet.

Cuando desee eliminar este problema, ¿qué tal la siguiente modificación?

Guión modificado:

De:

 const ssActive370 = SpreadsheetApp.getActive(); const sshActive370 = ssActive370.getSheetByName('Sheet1');

A:

 const ssActive370 = SpreadsheetApp.getActive().getSheetByName('Sheet1');

Referencias:

  • getRange(a1Notation) de la hoja de cálculo de clase
  • getRange (fila, columna, numRows) de la hoja de clase
  • getRange (fila, columna, numRows, numColumns) de la hoja de clase
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda