Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
Ajuste la función de secuencia de comandos de aplicaciones para verificar la columna completa en lugar de una sola fila

Tengo una función onEdit que crea una matriz y usa Range.setValues para "mover" esa fila a otra hoja de trabajo.

 function onEdit(e) { const src = e.source.getActiveSheet(); const r = e.range; if (r.getColumn() == 2 && r.getRow() == 2 && r.getWidth() == 1 && r.getHeight() == 1) { var sheetName; switch (e.value) { case "Pending": sheetName = "Pending"; break; case "In Hand": sheetName = "In Hand"; break; } if (sheetName) { const dest = e.source.getSheetByName(sheetName); const srcRange = src.getRange(r.getRow(),1,1,18); const formulas = srcRange.getFormulas()[0]; const values = srcRange.getValues(); formulas.forEach((formula,i) => { if(formula !== '') values[0][i] = formula; }); dest.getRange(dest.getLastRow()+1,1,1,18)).setValues(values); src.deleteRow(r.getRow(); } } }

La función funciona, pero por el momento solo verifica la Columna 2 - Fila 2 que se muestra aquí:

ingrese la descripción de la imagen aquí

Si cambio el siguiente estado no pasa nada:

ingrese la descripción de la imagen aquí

Sé que esto se debe a que la función no verifica toda la columna, solo verifica el cambio de valor en la Hoja activa - Columna 2 - Fila 2.

Necesito ayuda para ajustar el rango y asegurarme de que se verifique toda la Columna 2, y si se cambia un estado en la Fila 5, los datos de la Fila 5 se mueven, y así sucesivamente.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Reemplace r.getRow() == 2 por r.getRow() >= 2 en la siguiente línea

 if (r.getColumn() == 2 && r.getRow() == 2 && r.getWidth() == 1 && r.getHeight() == 1) {

Lo anterior porque la primera fila tiene los encabezados de columna y es muy poco probable que desee que la fila de encabezados se mueva en caso de que se edite el encabezado de columna de la columna B.

Recursos

  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators
about 4 years ago · Juan Pablo Isaza Relatório

0

La condición if en su código solo funcionará si el usuario editó una celda en la Fila 2 Columna B de su hoja debido a esta condición r.getRow() == 2 .

Si desea verificar la columna completa a partir de la fila 2, cambie su código

De:

 if (r.getColumn() == 2 && r.getRow() == 2 && r.getWidth() == 1 && r.getHeight() == 1) {

A:

 if (r.getColumn() == 2 && r.getRow() > 1 && r.getWidth() == 1 && r.getHeight() == 1) {

Esto garantizará que el script solo aplique la lógica de "mover" si se edita una celda en la columna B a partir de la fila 2.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda