遍历单元格范围以寻找值 [英] Looping through range of cells looking for values
问题描述
我有一个数据表,其中包含一个信息,然后根据在下拉菜单中选择的选项将其路由到另一张表.我创建了一个脚本,该脚本通过删除基于下拉列表中所选字符串的行来执行此操作,并在数据表上按下按钮时将其复制到新表中.但是,一旦遇到与我要查找的字符串不同的字符串,它将停止.
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屋!