Google Script: function that insert new row copying functions/formulas from last row

12,024

You can copy formulas just as easily you copy values, just use Range.getFormula() and Range.setFormula() instead of .getValue() and .setValue(). See documentation on spreadsheet service.

Inserting a row below the last one is pretty basic, use insertRowAfter and getLastRow in a simple script.


EDIT : in case you don't find it, here is an example of another simple way to do it, copying everything in one step

function duplicateLastRow(){
  var ss = SpreadsheetApp.getActiveSheet();
  ss.insertRowAfter(ss.getLastRow());
  ss.getRange(ss.getLastRow(),1,1,ss.getLastColumn()).copyTo(ss.getRange(ss.getLastRow()+1,1));
}
Share:
12,024
craftApprentice
Author by

craftApprentice

While I'm not fighting with Amazonian anacondas or do not have my notebook stolen by a monkey, I try to develop (usefull, I hope) web applications. Yes, I'm kidding about the animals.

Updated on August 09, 2022

Comments

  • craftApprentice
    craftApprentice over 1 year

    I have a table which cells have functions/formulas, like this one:

    enter image description here

    I need a script that create a new row copying to it the functions/formulas of the last used row. I find this script which create a new row but it doesn't copy functions/formulas. How could I implement this formatting copy task in Google Script without having to manually select and copy?

    Thanks for any help!