我试图逐行删除基于列'D'单元格中的值的行。
for语句工作正常并从数据输入的最后一行倒计时,正如我所知,当删除单元格时,你应该从底部开始并向上运行。
但出于某种原因,它一直在说''无法读取未定义的属性'3'。
我试过移动.getDataRange
,尝试将其全部更改为.getRange
(无效和更复杂),我已经改变了大部分代码的位置,看看是否有帮助。不能为我的生活找到解决这个问题的方法。
function removeResolvedRows(){
var snowData_dataRange = snowData.getDataRange().getValues()
var snowData_lastRow = snowData.getLastRow()
var nPDN = newPriorDayData.filter(String).length;
var current_row = +nPDN
for (var n = current_row; n < snowData_lastRow; n--){
var status = snowData_dataRange[n][3];
if (status == 'Resolved'){
snowData.deleteRow[n];
if (n == 0) break;
}
}
}
我想要它做的是循环通过[current_row][Column D]
,如果它说Resolved,删除该行。冲洗并重复直至current_Row == 0
然后破裂。目前它不会找到D列。
不知道这两条线在做什么。
var nPDN = newPriorDayData.filter(String).length;
var current_row = +nPDN;
所以我选择了一个简单的解决方案,您可以根据自己的需要添加内容。它检查D列中的已解决,如果找到,则删除行。
function removeResolvedRows() {
var values = snowData.getDataRange().getValues();
var rows_num = snowData.getLastRow();
for (var n = rows_num; n > 0; n--) {
if (values[n-1][3] == 'Resolved') {
snowData.deleteRow(n);
}
}
}