【问题标题】:How to shift cells down in specified columns? Google Sheets如何在指定列中下移单元格?谷歌表格
【发布时间】:2020-11-07 05:08:18
【问题描述】:

我正在尝试使用此脚本 (Is there an easy way to shift down cells? - Google App Script) 仅在编辑指定单元格时在指定列中一次向下移动 2 个单元格。我遇到的问题是,即使在列之外编辑哪个单元格,指定的单元格也会移动。有没有办法解决这个问题?

这就是我使用它的方式:`

var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0];

var range = sheet.getRange(3,1).insertCells(SpreadsheetApp.Dimension.ROWS); sheet.getRange(3,2).insertCells(SpreadsheetApp.Dimension.ROWS);`

【问题讨论】:

    标签: javascript google-apps-script google-sheets


    【解决方案1】:

    我认为你应该在某处有onEdit 函数,在这里你可以指定一个条件来仅检查特定列中的更改:

    function onEdit(e) {
      if (e.range.getColumn() === 3) {
          var ss = e.source; 
          var sheet = ss.getSheets()[0];
          var range = sheet.getRange(3,1).insertCells(SpreadsheetApp.Dimension.ROWS);
          sheet.getRange(3,2).insertCells(SpreadsheetApp.Dimension.ROWS);
      }
    }
    

    这里发生了什么:

    • onEdit 函数在电子表格中的任何单元格被编辑时运行
    • 它接收e 对象作为参数,该对象具有编辑了哪个单元格的引用 (e.range)
    • 您可以在 if 条件下使用 e.range.getColumn()/e.range.getRow() 检查编辑是在哪一列/行中进行的

    更多阅读:

    【讨论】:

    • 成功了,谢谢!!现在我试图弄清楚如何使它与影响相同单元格的另一个脚本一起工作:/似乎它停止了我的另一个脚本,它在编辑单元格 A4 时自动对单元格 B4 进行日期。如果你有一个修复,即使不担心也很酷!非常感谢帮助。
    【解决方案2】:

    包含“A-Change”修复后的最终代码。

    function onEdit(e){
      if (e.range.getColumn() === 1) {
          var ss = e.source; 
          var sheet = ss.getSheets()[0];
          var range = sheet.getRange(4,2).insertCells(SpreadsheetApp.Dimension.ROWS);
          sheet.getRange(4,1).insertCells(SpreadsheetApp.Dimension.ROWS);
      }
    }
    
    {
    var s = SpreadsheetApp.getActiveSheet();
    if( s.getName() == "1","2") { //checks that we're on Sheet titled "1"&"2" or not
    var r = s.getActiveCell();
    if( r.getColumn() == 1 ) { //checks that the cell being edited is in column specified example 1=A
    var nextCell = r.offset(0, 1);
    
    nextCell.setValue(new Date());
      
    }
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      相关资源
      最近更新 更多