我仍然是编写javascript的新手,并且无法弄清楚我的脚本有什么问题。我试着编写一个脚本来检查第10列中的单元格,如果它的内容等于“否”我试图清除该行中的其余单元格。例如,如果“1,10”=“否”,它应该清除范围1,10到1,120。然后我循环它,以便它可以为表格的其余部分执行此操作。
脚本有点工作。问题是它正在清除比它应该更多的行。每次脚本遇到单个“否”时,即使该行上的列为“是”,它也会清除没有出现的行和它下面的多行。
function fixRemovedChars() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form');
var rows = sheet.getLastRow();
for(var i=1;i<rows;i++){
var range = sheet.getRange(i, 11, i, 110);
var check = sheet.getRange(i,10).getValue();
if(check == "No"){
range.clearContent()
}
}
}
请帮忙。我弄清楚什么是错的。
答案 0 :(得分:2)
如果其他人好奇,我发现我的问题出了什么问题。在这一行
var range = sheet.getRange(i, 11, i, 110);
我忘了语法是(startrow,startcolumn,行数,列数)。 (#,#,x,#)左边示例中的x保持增加,导致它清除更多行。