包含clearcontent / clearcontents并保留公式的错误

问题描述 投票:0回答:1

使用以下代码遇到麻烦:

function addDelivery() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var srcSheet = ss.getSheetByName("Sheet7");

  var range = srcSheet.getRange("B3:L3").getValues();
  var formulas = srcSheet.getRange("B3:L3").getFormulas();
  srcSheet.insertRowBefore(6);
  srcSheet.getRange(6,2,1,11).setValues(range);
  range.clearContents();
  range.setFormulas(formulas);

我想清除单元格B3:L3的内容,但将公式保留在L3中。

我收到错误消息“ TypeError:range.clearContent不是函数”。我读到clearContent是Range的方法,而clearContents是工作表的方法。我都尝试过,但都没有用。

请帮助。

最好的问候manc

google-apps-script clear content
1个回答
1
投票

也许这会更好:

function addDelivery() {
  var ss = SpreadsheetApp.getActive();
  var srcSheet = ss.getSheetByName("Sheet7");
  var range=srcSheet.getRange("B3:L3");  
  var values = range.getValues();
  var formulas = range.getFormulas();
  srcSheet.insertRowBefore(6);
  srcSheet.getRange(6,2,1,11).setValues(values);
  range.setFormulas(formulas);
  srcSheet.getRange("B3:K3").clearContent();

我考虑了很多,我想我可能会这样:

  function addDelivery() {
  var ss = SpreadsheetApp.getActive();
  var srcSheet = ss.getSheetByName("Sheet7");
  var range = srcSheet.getRange("B3:L3");  
  var values = range.getValues();
  var formula = srcSheet.getRange("L3").getFormula();
  srcSheet.insertRowBefore(6);
  srcSheet.getRange(6,2,values.length,values[0].length).setValues(values);
  srcSheet.getRange("L3").setFormula(formula);
  srcSheet.getRange("B3:K3").clearContent();
© www.soinside.com 2019 - 2024. All rights reserved.