首页 > 解决方案 > 循环条件格式。

问题描述

我希望这段代码遍历工作表中的所有列。我是一名教师,想使用此代码对电子表格进行评分,但目前该代码仅适用于 G 列。任何帮助将不胜感激。

function conditional() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var numRows = sheet.getLastRow()+1;
    var numC = sheet.getLastColumn(); 

for (var t = 7; t = numC; t++){
    var range = sheet.getRange(2,t,numRows,1);
    var answer = sheet.getRange(2,t).getValue();
    var rule = SpreadsheetApp.newConditionalFormatRule()
   .whenTextEqualTo(answer)
   .setBackground("#00ff00")
   .setFontColor("#00ff00")
   .setRanges([range])
   .build();
   var rules = sheet.getConditionalFormatRules();
   rules.push(rule);
   sheet.setConditionalFormatRules(rules);

   var rule2 = SpreadsheetApp.newConditionalFormatRule()
  .whenTextDoesNotContain(answer)
  .setBackground("#ff0000")
  .setFontColor("#ff0000")
  .setRanges([range])
  .build();
   var rules2 = sheet.getConditionalFormatRules();
   rules2.push(rule2);
   sheet.setConditionalFormatRules(rules2);
   }
   }

标签: google-apps-script

解决方案


问题在于您的 for 循环,您必须按如下方式更改 for 循环。

for (var t = 1; t <= numC; t++)

我在这里所做的是,我修改了 for 循环语法以从 A 列迭代到最后一列。


推荐阅读