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

239
Visualizações
¿Cómo obtener fórmulas de una fila y distribuirlas en un rango usando un script?

¿Cómo puedo hacer que este complete el rango definido en el código?

Entiendo que una vez que lo obtengo, tengo que iterar sobre el rango para establecer las fórmulas, pero no puedo entender cómo hacerlo:

 let formulas = boqPipeworkSheet.getRange(7, 1, 1, 8).getFormulasR1C1(); let rngFormulas = boqPipeworkSheet.getRange(7, 8, boqPipeworkSheet.getLastRow(), 8) rngFormulas.forEach(c => rngFormulas(c).setFormulas(formulas))

Por supuesto, me da un error porque hay mucho que aprender en forEach y mucho más.

Aprecia tu tiempo.

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

0

En su situación, ¿qué tal la siguiente modificación?

Guión modificado:

 var src = boqPipeworkSheet.getRange(7, 1, 1, 8); var dst = boqPipeworkSheet.getRange(7, 8, boqPipeworkSheet.getLastRow(), 8); src.copyTo(dst, SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);

Nota:

  • Si desea copiar las mismas fórmulas de boqPipeworkSheet.getRange(7, 1, 1, 8) con el mismo rango, puede usar la siguiente modificación.

     var src = boqPipeworkSheet.getRange(7, 1, 1, 8); var dst = boqPipeworkSheet.getRange(7, 8, boqPipeworkSheet.getLastRow(), 8); dst.setFormulas(Array(dst.getNumRows()).fill(src.getFormulas()[0]));

Referencia:

  • copyTo(destino, copyPasteType, transpuesto)

Adicional:

Cuando vi su script, de let rngFormulas = boqPipeworkSheet.getRange(7, 8, boqPipeworkSheet.getLastRow(), 8) , pensé que quería copiar la fórmula de A7:G7 a H8:O . Pero si desea copiar la fórmula de A7:G7 a A8:G , puede usar la siguiente modificación. Como secuencia de comandos de muestra, me gustaría agregar esto porque pensé que este método podría ser útil para otros usuarios.

 var src = boqPipeworkSheet.getRange(7, 1, 1, 8); var dst = boqPipeworkSheet.getRange(8, 1, boqPipeworkSheet.getLastRow() - 7, 8); src.copyTo(dst, SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
about 4 years ago · Juan Pablo Isaza Relatório

0

Me perdí bastante en tus coordenadas. Por favor, ponga los que necesita.

notación: (fila del número 1, columna del número 1)
Lo que hace es copiar fórmulas de la celda (7, 1) a la (7, 8).
Luego los pone en cada fila desde la fila 8 hasta la última fila. La primera fila es (8, 1) a (8, 8).

 const formulas = boqPipeworkSheet.getRange(7, 1, 1, 8).getFormulasR1C1(); const lastRow = boqPipeworkSheet.getLastRow(); for (let i = 8; i <= lastRow; i++) { const rngFormulas = boqPipeworkSheet.getRange(i, 1, 1, 8) rngFormulas.setFormulasR1C1(formulas); }

¡Pregunta si necesitas más aclaraciones!

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