如何在Google表格的第一行自动添加行?

时间:2018-11-20 10:01:01

标签: google-sheets

我有每天要编辑的Google工作表。

实际日期位于第一行+第一列

我想创建 script / makro 以在每一天新行中自动创建此行。或添加整月。因此,它将在表30-31的顶部创建每个新月。新行。

像这样排序 ->表中的第一行==实际日期 2018年11月21日,星期三... 2018年11月20日,星期二... 2018年11月19日,星期一 。 。 。

我发现只有getLastrow()之类的一些函数,但相对的不是。我想只在网上使用Google表格。.没有excel!

//this is example how i add lastrow... but its not correct, also it just copy paste last row.. 
// global 
var ss = SpreadsheetApp.getActive();

function onOpen() {
    var menu = [{name:"Add New Last Row", functionName:"addRow"}];
    ss.addMenu("Extra", menu);
}

function addRow() {
    var sh = ss.getActiveSheet(), lRow = sh.getLastRow(); 
    var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol);
    sh.insertRowsAfter(lRow, 1);
    range.copyTo(sh.getRange(lRow+1, 1, 1, lCol), {contentsOnly:false});
}

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可能要使用insertRowsBefore(beforePosition,howMany)。放在第一位,然后是您要插入的行数。

SpreadsheetApp.getActiveSheet.insertRowsBefore(beforePosition, howMany)

答案 1 :(得分:0)

我编辑这样的功能:

function addRow() {
  var sh = ss.getActiveSheet();
  var lCol = sh.getLastColumn(), range = sh.getRange(2,1,1,lCol);
  //range.copyTo(sh.getRange(2, 1, 1, lCol), {contentsonly: false});
  sh.insertRowsBefore(2, 28);
}

但是我仍然不知道如何自动执行..以及如何自动增加日期