脚本在填写第8列的字段时自动添加一个新行

问题描述:

我需要一个脚本来在开始填充行的第8列的字段时在开始时自动添加一个空行。 注意:这是用于保存上一行的公式的新行。脚本在填写第8列的字段时自动添加一个新行

这是我正在使用的脚本。

它通过写入行的任何部分(任何列)

,但我希望他能当我写的东西列只能激活8

function onEdit(e) { 
    if (e) { 

     var ss = e.source.getActiveSheet(); 
     var r = e.source.getActiveRange(); 

     // If you want to be specific 
     // do not work in first row 
     // do not work in other sheets except "Outubro" 
     if (r.getRow() != 1 && ss.getName() == "Outubro") { 

      // E.g. status column is 
      status = ss.getRange(r.getRow(), 8).getValue(); 

      // Status 
      if (status == 'yes', 'null') { 
        var planilha = SpreadsheetApp.getActiveSpreadsheet(); 
        var folha = planilha.getActiveSheet(); 
        if (folha.getName() === "Outubro") 
        var ss = SpreadsheetApp.getActiveSpreadsheet(); 
        var sheet = ss.getActiveSheet(); 
        sheet.insertRowBefore(4); 

        var rangeToCopy = sheet.getRange(3, 1, 1, sheet.getMaxColumns()); 
        rangeToCopy.copyTo(sheet.getRange(4, 1)); 
      } 
     } 
    } 
} 
+0

欢迎来到StackOverflow。请注意,这不是一个代码写入服务。请编辑您的问题,以显示您尝试过的内容,您遇到的问题等。否则,它很可能会很快关闭。 –

感谢您的帮助社区。

该代码现在正在工作。

我会在这里给任何需要的人留下代码。

再次感谢大家的帮助。

function onEdit(e) { 
    if (e) { 

    var ss, activeRange, activeColumn; 

     var planilha = SpreadsheetApp.getActiveSpreadsheet(); 
     var folha = planilha.getActiveSheet(); 
     if (folha.getName() === "Outubro") 

    ss = SpreadsheetApp.getActiveSpreadsheet(); 
    activeRange = ss.getActiveRange(); 
    activeColumn = activeRange.getColumn(); 
    //Logger.log('activeColumn: ' + activeColumn); //VIEW LOGS 

    if (activeColumn !== 8) {return;};//Quit if not column 8 { 

     var ss = SpreadsheetApp.getActiveSpreadsheet(); 
     var sheet = ss.getActiveSheet(); 
     sheet.insertRowBefore(4); 

     var rangeToCopy = sheet.getRange(3, 1, 1, sheet.getMaxColumns()); 
     rangeToCopy.copyTo(sheet.getRange(4, 1)); 
    } 
}