我的脚本是在Google电子表格文档中,这是我的脚本:

ss =电子表格app.getActivesPreadsheet();

function onOpen() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [ {name: "10 Rows", functionName: "TenRows"},
                      {name: "20 Rows", functionName: "TwentyRows"},
                      {name: "30 Rows", functionName: "ThirtyRows"},
                      {name: "40 Rows", functionName: "FortyRows"},
                      {name: "50 Rows", functionName: "FiftyRows"}]                      
   ss.addMenu("Insert Rows", menuEntries);
 }


 function TenRows() {
  SpreadsheetApp.getActiveSheet().insertRowsBefore(2,10);
 }

 function TwentyRows() {
  SpreadsheetApp.getActiveSheet().insertRowsBefore(2,20);
 }

 function ThirtyRows() {
  SpreadsheetApp.getActiveSheet().insertRowsBefore(2,30);
 }

 function FortyRows() {
  SpreadsheetApp.getActiveSheet().insertRowsBefore(2,40);
 }

 function FiftyRows() {
  SpreadsheetApp.getActiveSheet().insertRowsBefore(2,50);
 }

在我的电子表格的C列中,我有一串数字从每一行中流下来。

像这样

 C
7317
7316
7315
7314
7313

当我运行脚本以插入许多行时,如何制作它,以便它自动继续此上升数并将其输入C列?

谢谢

有帮助吗?

解决方案

显然,我不能在没有看到整个过程的情况下给您代码,但是我可以为您提供有关如何解决的建议:

  1. 在插入新行之前,保存将插入新行的数字,然后将新行插入变量 lastNumber = parseInt(insertRowColumnC.getValue()) 确保使用 parseInt 将字符串转换为数字(!)
  2. 插入新行
  3. 现在迭代从上到下的所有新插入的行
  4. 在每一行,您首先减少 lastNumber 一个一个,然后将其值写入该行的C列

更新

看了看电子表格后,我花了几分钟就提出了这件代码:

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var r = e.source.getActiveRange();
  if (r.getColumn() == 3 && r.getRow() == 2) {
    var value = parseInt(r.getValue());
    if (!isNaN(value)) {
      var next = getFirstRowNumber(sheet);
      if (value > next) {
        var count = value - next;
        sheet.insertRowsAfter(2, count);
        for(var i = 2; i < 2 + count; i++) {
          sheet.getRange(i + 1, 3).setValue(value);
          value--;
        }
        r.setValue('');

      } else {
         r.setValue('');
         Browser.msgBox('You need to enter a greater ID.');
      }
    } else if (r.getValue() !== '') {
      r.setValue('');
      Browser.msgBox('You need to enter a valid ID.');
    }
  }
}

您的问题有点不清楚,但是这可以如何做。

每当有些人在2/c中插入新ID时,将自动插入新ID和3/C中的ID的缺失ID。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top