在Datavalidation中搜索文本

时间:2019-07-06 18:53:42

标签: google-apps-script google-sheets google-sheets-formula

我想实现一个游戏的交付清单,人们可以在其中使用Google表单将自己注册为会员列表。当他们交付时,例如Ironore,它将通过表格插入到工作清单中。

当我然后想要将其从列表中删除时,我想通过Datavalidation从成员列表中进行搜索。因此,我选择“ Jason_Matters”作为示例,它应删除“ Jason_Matters”中的所有行。我使用的脚本如下所示。但我不知道如何使用datavalidation中的信息:

function readRows_JS() {
var sheet = 
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Lieferungen Team 
Matters");
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var Sheet2 = 
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mitarbeiter Liste');
var validate1 = Sheet2.getRange("H12").getDataValidation();

var ui = SpreadsheetApp.getUi();
var response = ui.alert('Sind Sie sich sicher?', ui.ButtonSet.YES_NO);
if (response == ui.Button.YES) {
var rowsDeleted = 0;
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (row[1] == "validate1") {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
}
}
}
};

我必须为“ validate1”插入什么?

1 个答案:

答案 0 :(得分:0)

我的猜测是您想做这样的事情:

function readRows_JS() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName("Lieferungen Team Matters");
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var sh2=ss.getSheetByName('Mitarbeiter Liste');
  var selection=sh2.getRange("H12").getValue();
  var ui=SpreadsheetApp.getUi();
  var response=ui.alert('Sind Sie sich sicher?', ui.ButtonSet.YES_NO);
  if (response==ui.Button.YES) {
    var d=0;
    for (var i=0;i<vA.length; i++) {
      if (vA[i][1]==selection) {
        sh.deleteRow(i+1-d++);
      }
    }
  }
}