Как зациклить getRange ("B" + row + ":" + "J" + row) в скрипте редактора листов Google - PullRequest
0 голосов
/ 04 ноября 2019
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);
        }
      }
    }
  }

}

1 Ответ

0 голосов
/ 05 ноября 2019

Выбор и выделение диапазонов с помощью 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 и нажмете кнопку return, в нем для столбца A не будет выбрано, а вторая часть оператора if / else очистит фон для всего диапазона.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...