Некоторое время этот код работал отлично, но внезапно остановился. Сейчас пытаюсь вернуть.
Вот что я пытаюсь сделать:
-Я беру диапазон и превращаю его в массив.
-Затем проверяю, сколько смежных строк идентичны
-Затем объединяю все строки, которые смежные и одинаковые
Однако код теперь ничего не делает с листом и навсегда зависает в обработке. Остальные функции по-прежнему работают, но вот эта не работает.
Есть идеи, почему?
Я что-то не так делаю, когда переводю диапазон в массив?
function mergePOs() {
var x, y;
var again = true;
var firstRow = 0;
var lastRow = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Manifestt").getLastRow();//gets the final row
var poArray = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Manifestt").getRange(6, 4, lastRow, 4).getValues();
for (var x=firstRow+6; x=lastRow; x++) {//rows
y=1;
while(again == true) {//determining how many rows to merge
if(poArray[4][x]== poArray[4][x+y]) {
again=true;
y++;
}
else{
again = false;//breaks the loop if false, and moves to the next row
y--;
}
}
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Manifestt").getRange(x, 4, x+y, 4).mergeVertically();//PO
x = x+y;//so we skip rows that have already been merged
}
}
