我是JavaScript的新手,并且编写了一个脚本,该脚本打算在A列(标记为“状态”)中查找状态为“已完成”,然后从该选项卡中剪切整行并将其粘贴到另一行中标签。可以通过数据验证选择其他4种状态,包括“新建”。直到最近脚本开始也以“ New”状态切割行时,这种方法一直运行良好。我现在不确定到底出了什么问题。
我已经仔细检查了脚本,以查看是否有人进行了任何更改,而他们没有进行任何更改。我不确定为什么在脚本中甚至没有提到它时为什么选择这些“新”行。
function ltToArchive() {
var sheet = SpreadsheetApp.getActive().getSheetByName('LT OQ');
var dir = SpreadsheetApp.getActive().getSheetByName('LT Archive');
var rows = sheet.getMaxRows();
var x = 1
for ( x = 1; x <= rows; x++){
var checkR = sheet.getRange(x, 1);
var checkV = checkR.getValue();
if ( checkV == 'Complete' ){
var lastRow = dir.getLastRow();
dir.insertRowAfter(lastRow);
var dirRange = dir.getRange('A' + (lastRow+1) + ':Q' + (lastRow+1));
var copyRange = sheet.getRange('A'+ x + ':Q' + x);
copyRange.copyTo(dirRange);
sheet.deleteRow(x);
}
}
dir.sort(10,false);
}
理想情况下,我希望它仅选择具有“ Complete”的行,而不选择其他行。
答案 0 :(得分:0)
=query('LT OQ'!A:Q,"where A like 'Complete'")
可能适合一些有类似问题的人。