function onEdit(evt) {
var range = evt.range;
showAutoValue(range);
}
function showAutoValue(range){
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = spreadSheet.getActiveSheet();
var row = range.getRow();
var column = range.getColumn();
if(column == 1 && row >= 1){
var Avalue = activeSheet.getRange("A" + row).getValue();
var B_Jrange = activeSheet.getRange("B" + row + ":" + "J" + row);
if(String(Avalue).trim()){
for(var i = 0; i < B_Jrange.length; i++){
if(String(B_Jrange[i].getValue()).trim().toLowerCase() == "change moi"){
B_Jrange[i].setBackground(Avalue);
}
}
}
}
}
答案 0 :(得分:0)
使用onEdit()选择和突出显示范围
好吧,我想了更多,我决定将columnA设置为白色,黄色,浅绿色,浅蓝色的数据验证列表,因为您必须牢记要生成onEdit触发器,您实际上必须进行一些更改。因此,在这种情况下,您要将范围e.range.getSheet()。getRange(e.range.rowStart,2,1,8)的背景颜色更改为在该行的A列中选择的值。因此,无需循环即可完成此操作。
function onEdit(e){
var sh=e.range.getSheet();
if(e.range.columnStart==1){
if(String(sh.getRange(e.range.rowStart,1).getValue()).trim()){
sh.getRange(e.range.rowStart,2,1,8).setBackground(sh.getRange(e.range.rowStart,1).getValue());
}else{
sh.getRange(e.range.rowStart,2,e.range.rowEnd,8).setBackground('white').getValue();
}
}
}
如果您选择了A列的所有内容并按回车键,则此版本也会清除整个范围。它将p列设置为No选择,而if / else语句的第二部分则清除了整个范围的背景。