【问题标题】:Delete column of certain row after finding it from script从脚本中找到后删除某行的列
【发布时间】:2021-04-08 09:18:27
【问题描述】:

我想在数据中找到一只股票后,删除它的名称、数量、价格、目标、sl,而不删除整行..

目前,我的代码删除了整行。请帮忙

例如:如果找到 Auropharma,我只想删除/清除 C3、D3、E3、F3、G3、H3

function Delete() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var formS = ss.getSheetByName("Entry"); //Form Sheet
  var cell  = formS.getRange("F7").getValue();
  var dataS  = ss.getSheetByName(cell); //Data Sheet

  var ui = SpreadsheetApp.getUi();
  var response = ui.alert('Delete ?',ui.ButtonSet.YES_NO);

  //Process the user's response.
  if (response == ui.Button.YES) {

  var str = formS.getRange("H7").getValue();
  var values = ss.getSheetByName(cell).getDataRange().getValues();
    for (var i = 0; i < values.length; i++) {
      var row = values[i];
      if (row[SEARCH_COL_IDX] == str) {

      var INT_R = i+1

      dataS.deleteRow(INT_R);
      ClearCell();
      }
    }
  }
}

【问题讨论】:

    标签: google-apps-script google-sheets automation stock


    【解决方案1】:

    您可以简单地将单元格设置为null

    dataS.getRange(`C${INT_R}:H${INT_R}`).setValue(null)
    

    如果该行为 3,则获取 C3:H3 并删除其内容。

    参考文献

    【讨论】:

    • 谢谢,但我如何将它与 for 循环结合起来? C行不固定,怎么办呢?
    • 它应该替换dataS.deleteRow(INT_R);。我也不确定ClearCell() 做了什么
    • 哇哦!奇迹般有效。另外,我必须将 B2 设置为 false(setvalue),它是一个复选框 @Marti
    • 我想我想通了 - dataS.getRange(B${INT_R}:B${INT_R}).setValue(false)
    • 请注意,您可以使用多个语句。您可以将复选框设置为 false,将其他复选框设置为 null。只需修改getRange的A1符号即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多