javascript 如何删除特定值单元格

cbwuti44  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(254)

我已经做了一个代码,添加任何值,你把在B2中的一个列表,如果单元格E2 =“添加项目”,我试图使它也删除相同的按钮动作,而E2 =“删除项目”列表中相同的值。我已经作出了部分,添加值,它的工作很好,但我不能继续没有删除部分。

function itens() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var lista = ss.getSheetByName("BASE LAB(TBD)");

    var source = lista.getRange("B2");
    var opt = lista.getRange("F2");

    var patrimonio = source.getValue();
    var option = opt.getValue();

    var lastLineOfData = lista.getDataRange().getLastRow();

    if (option == "ADICIONAR ITEM") {
        lista.getRange(lastLineOfData + 1, 1, 1, 1).setValue(patrimonio);
        ss.toast("EQUIPAMENTO ADICIONADO");
    }
}
rekjcdws

rekjcdws1#

你可以使用createTextFinder()在你选择的范围内搜索一些文本,然后遍历结果,使用deleteCells()clearContent()删除数据。使用deleteCells()你可以移动行,这样在删除数据后就不会有空行,而clearContent()会根据你的喜好留下空格。
下面是一个示例:

function removeItem(input) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var lista = ss.getSheetByName("BASE LAB(TBD)");
  var range = lista.getRange("A:A") // the range to be searched
  var textFinder = range.createTextFinder(input)
  var results = textFinder.findAll()
  
  for (var i = results.length-1; i >=0; i--) {
      results[i].deleteCells(SpreadsheetApp.Dimension.ROWS)
  }
}

您可以从当前函数调用此函数,如下所示:

function itens() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var lista = ss.getSheetByName("BASE LAB(TBD)");

  var source = lista.getRange("B2");
  var opt = lista.getRange("F2");

  var patrimonio = source.getValue();
  var option = opt.getValue();

  var lastLineOfData = lista.getDataRange().getLastRow();

  if (option == "ADICIONAR ITEM") {
    lista.getRange(lastLineOfData + 1, 1, 1, 1).setValue(patrimonio);
    ss.toast("EQUIPAMENTO ADICIONADO");
  } else if (option == "DELETE ITEM") {
    removeItem(patrimonio)
  }
}

相关问题