单元格修改后如何删除行?

时间:2019-08-29 19:19:44

标签: google-apps-script google-sheets

我现在正在处理一个电子表格,该电子表格可以从Salesforce报表中提取数据。我的问题是,如果列中的单元格已更新,是否可以删除特定电子表格中的行。

例如,如果对A2进行了任何修改,请删除A2:D2作为响应。这样做的原因是因为数据从中提取数据的A单元有时可能会更改并从源报表中删除。 A2引用特定数据。

如果没有参考数据,而不是A2尝试参考其他数据,我希望删除A2和关联的行。

1 个答案:

答案 0 :(得分:0)

  • 在更新列时,可以通过onEdit触发器自动删除行。

  • 但是请记住,onEdit仅在人员编辑了列时才会触发,而不是从其他地方以编程方式提取数据或使用公式或脚本更新数据时,则不会触发。{ {3}}。

如果后者反映了您的情况,则需要使用解决方法:

  • 您可以安装一个trigger restrictions触发器,该触发器将在您选择的时间间隔内比较值是否已更改。 time-driven

  • 要比较这些值,可以将最后一个值存储为enter image description here

示例:

function myFunction()
{
  var ss = SpreadsheetApp.getActive().getActiveSheet();
  var cell=ss.getRange('A2').getValue();
  var value = PropertiesService.getScriptProperties().getProperty('lastCellValue');
  if(value){
    if(cell!=value){
      ss.getRange('A2:D2').clear();
    }
    else{
      Logger.log('cell content did not change');
    }
  }
  else{
    Logger.log('This is the first call, so changes are not tracked yet');
  }
  PropertiesService.getScriptProperties().setProperty('lastCellValue', cell);
}
相关问题