【问题标题】:Google sheets script that add a row添加一行的 Google 表格脚本
【发布时间】:2020-12-05 20:01:08
【问题描述】:

我不知道如何编码或编写脚本。

我有一个录制脚本/宏,可以根据 2 个条件对范围进行排序/排序,非常适合我的需求。

我想添加一个功能,但不知道怎么做,我希望脚本在条件 1 之间添加一个空白行(第 34 列)。

以下脚本的第一个条件是根据第34列(或AH)中的2个单词排序/排序,是否可以在“边界”之间自动添加一个空白行?

这是我的代码:

/** @OnlyCurrentDoc */

function Navios() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('u3:Ak').activate()
  .sort([{column: 34, ascending: true}, {column: 22, ascending: true}]);
};

这是example sheet(请忽略条件格式)。我想要 AH(或 34)列中的“A decorrer”和“Concluido”之间的空白行

有人可以帮忙吗?

谢谢。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    我相信你的目标如下。

    • 在函数Navios() 中运行排序脚本后,您希望在“AH”列的A decorrer 的值和Concluido 的值之间插入新行。

    修改点:

    • 在这种情况下,我想建议以下流程。
      1. 运行您的脚本以在函数Navios() 中进行排序。
      2. 在函数Navios() 中添加用于插入新行的脚本。
        1. 检索“AH”列的值。
        2. 检索值A decorrerConcluido 的边界。
        3. 在值之间插入新行。

    当以上几点反映到你的脚本中时,它变成如下。

    修改脚本:

    function Navios() {
      var spreadsheet = SpreadsheetApp.getActiveSheet();
      var range = spreadsheet.getRange('u3:Ak');  // Modified
      range.activate().sort([{column: 34, ascending: true}, {column: 22, ascending: true}]);  // Modified
    
      // I added below script.
      var values = range.offset(0, 13, range.getNumRows(), 1).getValues();
      for (var i = 0; i < values.length; i++) {
        if (values[i][0] != values[0][0]) {
          spreadsheet.insertRowAfter(i + 2);
          // spreadsheet.deleteRow(spreadsheet.getMaxRows());
          break;
        }
      }
    }
    
    • 在此修改后的脚本中,当脚本运行时,会在工作表中添加一行。这样,每次运行都会增加行数。如果要在脚本运行时保持行数,请使用// spreadsheet.deleteRow(spreadsheet.getMaxRows()); 行。这样,当插入新行时,将删除工作表的底行。这样,保持行数。但我不确定你的实际情况。所以我建议将其作为附加信息。

    参考:

    【讨论】:

      猜你喜欢
      • 2018-05-01
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 2022-10-18
      相关资源
      最近更新 更多