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

223
Visualizações
Copiar la fila con formato varias veces usando el script de adición automática de filas en las hojas de Google

Tengo un script que mantiene el número de filas en blanco en el nivel deseado. Las nuevas filas creadas deben tener el mismo formato y copiar las fórmulas de la última fila en blanco.

La siguiente secuencia de comandos hace eso por primera vez, pero si ingresa algunos registros nuevos y los vuelve a ejecutar, crea nuevas filas pero sin formatear. ¿Como arreglarlo?

[![Aquí está la hoja de Google:][1]][1]

 function autoaddRows() { var addRows = 10; var sheet = SpreadsheetApp.getActive().getSheetByName('Plan dnia'); var range = sheet.getRange("B2:B").getValues(); var lastRowB = range.filter(String).length+6; var lastRow = sheet.getLastRow(); var blanknrows = lastRow - lastRowB; var diff = addRows - blanknrows; if (diff > 0) { sheet.insertRowsAfter(lastRow, diff); var numberOfCol = sheet.getLastColumn() - 1; var range = sheet.getRange(lastRowB, 2, 1, numberOfCol); range.copyTo(range.offset(1, 0, diff + 1, numberOfCol), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false); range.clearNote(); } } [1]: https://i.stack.imgur.com/VvGjI.jpg
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

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

De:

 range.copyTo(range.offset(1, 0, diff + 1, numberOfCol), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false); range.clearNote();

A:

 var dst = range.offset(1, 0, addRows, numberOfCol); range.copyTo(dst, SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false); range.copyTo(dst, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false); range.clearNote();
  • Pensé que cuando las filas vacías son más de 2, cuando se usa diff + 1 como el número de filas, el final de la fila podría ser pequeño. Pensé que esta podría ser la razón de su problema. Entonces modifiqué diff + 1 para addRows . Y también, para copiar el formato, agregué range.copyTo(range.offset(1, 0, addRows, numberOfCol), SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false) .

Referencia:

  • copyTo(destino, copyPasteType, transpuesto)
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