Я пытаюсь получить значение из листа, который я редактирую, и сравнить его с другой ячейкой листов, которая содержит другое значение, чтобы увидеть, соответствует ли оно, все, кажется, работает довольно хорошо, но однажды для l oop запускает, он проходит только около 90-100 строк перед остановкой, из-за чего он не соответствует установленным условиям, я распечатываю его в пустую ячейку, сообщая мне, через что он прошел, пока он медленно идет вниз по списку.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetMasterList = ss.getSheetByName("Master Item List");
var sheetItems = ss.getSheetByName("Items");
function onEdit(event){
if (ss.getActiveSheet().getName() == "Master Item List"){
var r = event.range;
var v = event.value;
checkColumnIfEditedI(r,v);
}
}
function checkColumnIfEditedI(gotRange,value){
// Get the row and column
var columnOfEditedRange = gotRange.getColumn();
var rowOfEditedRange = gotRange.getRow();
var valueOfEditedRange = value;
if (columnOfEditedRange == 1){
var lastRowInItems = sheetItems.getLastRow();
for (i=lastRowInItems; i>=0; i--){
var rowChecked = sheetItems.getRange(i, 4).getValue();
if (rowChecked == valueOfEditedRange){
sheetMasterList.getRange(2, 17).setValue("Found your row");
break
}else{
sheetMasterList.getRange(2, 17).setValue("Caching: \nRow " + i + " Column 4" + "\nResult " + rowChecked);
}
}
}else{
sheetMasterList.getRange(30, 1).setValue("Not the correct Row");
}
}
// Check which cell has been edited (Master Items List) DONE
// If Master Items List was edited check what cell and row was edited DONE
// Check if Items sheet has said item
// If item in Items sheet does not exist set "Not in cell"
// If item in Items sheet does exist set "In Cell" and link to the Items sheet data.
Я признаю, что, вероятно, есть более простой способ сделать весь этот код, который я сделал, но он работает для меня, если вы хотите исправить это и сделать его бесполезными. Я весь в глазах: D