遍历单元格范围以寻找值 [英] Looping through range of cells looking for values

查看:77
本文介绍了遍历单元格范围以寻找值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据表,其中包含一个信息,然后根据在下拉菜单中选择的选项将其路由到另一张表.我创建了一个脚本,该脚本通过删除基于下拉列表中所选字符串的行来执行此操作,并在数据表上按下按钮时将其复制到新表中.但是,一旦遇到与我要查找的字符串不同的字符串,它将停止.

I have a data sheet that contains a information which is then routed to another sheet based on an option selected in a drop down menu. I have created a script that does this by removing the row based on the string selected in the dropdown and copies it to a new sheet when a button is pressed on the data sheet. However, once it meets a string that doesn't equal the string I'm looking for, it stops.

下面是我到目前为止的代码示例.

Below is a sample of the code I have so far.

function sendUpdates()
{
  var sheetNameToWatch = "Data Report";
  var sheetNameToDelete = "Hidden - Data Report;
  var valueToWatch = "Send to XXX";
  var sheetNameToMoveTheRowTo = "Hidden - New - Data Report";

  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var sheet = SpreadsheetApp.getActiveSheet(); 
  var range = sheet.getRange("O2:O50");
  SpreadsheetApp.setActiveRange(range);

  for (;range.getValue() == valueToWatch;)
  {
    var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); 
    var deleteSheet = ss.getSheetByName(sheetNameToDelete)
    sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).copyTo(targetRange, {contentsOnly: true});
    sheet.deleteRow(range.getRow());
    deleteSheet.deleteRow(range.getRow()); 
  }


}

如果可能的话,我希望它能够持续到整个范围?任何帮助都非常感激.

I would like for it to be able to continuing through the range until the end if possible? Any help really appreciated.

推荐答案

而不是

if (range.getValue() == valueToWatch) {}

尝试

if( dataRange.getCell(0, i).getValue() == valueToWatch ) {}

这篇关于遍历单元格范围以寻找值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆