我有一个电子表格,其中有从第6行开始的项目列表。第五行保留用于输入新项目的详细信息。然后,我使用自定义按钮将项目添加到列表(在第6行上方插入新行,将第5行复制到第6行,清除第5行)。我的问题是我在A:C列上进行了条件格式设置,并且'addItem'运行之后,新行不包含在条件格式设置规则中,它从'A1:C1211'变为'A1:C4,A6:C1211'(随着添加更多项目,差距也会增加)。如何将格式设置规则应用于新行,或者之后再更新规则以包括新行?
在工作表中手动插入行可保持格式,因此不确定为什么不使用脚本进行维护。
function addItem() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var poshSheet = spreadsheet.getSheetByName("Posh");
var data = spreadsheet.getSheetByName("Background Data");
var cell;
var inputRow = poshSheet.getRange('A5:R5');
var insertRow = poshSheet.getRange('A6:R6');
if(inputRow != null){
//get and updateItemNo
var itemNo = data.getRange('D12').getCell(1, 1).getValue();
inputRow.getCell(1,1).setValue(itemNo);
data.getRange('D12').getCell(1, 1).setValue(itemNo+1);
//insert blank row at top
poshSheet.insertRowBefore(6);
//copy input
inputRow.copyTo(insertRow);
//clear input row
inputRow.clear()
}
}
我认为您提出这个问题的原因是inputRow.clear()
。在这种情况下,格式也将清除。由此,范围被分割。那么如何进行如下修改?
inputRow.clear();
inputRow.clear({contentsOnly: true});
要么
inputRow.clearContent();
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句