У меня есть несколько циклов for в одном коде, так как я пытаюсь собрать данные на основе идентификатора "Y".Есть некоторые листы, которые не имеют идентификатора «Y», и эти листы всегда приводят к тому, что мой скрипт останавливается, поскольку ошибка не может найти длину в этом конкретном цикле for, поскольку ее нет.
Как мне обойтиэтот?Я пробовал, если / где-то везде, я думаю, будет работать, и это не работает.
Я пробовал, если / else заявления и разрывы, но я не должен помещать их в нужное место.
var VDSLr = VDSL.getRange('A:AS');
var VDSLraw = VDSLr.getValues();
var VDSLdata = []
for (var i = 0; i< VDSLraw.length ; i++){
if (VDSLraw[i][44] == "Y")
{
VDSLdata.push(VDSLraw[i])
}
Pull.getRange(Pull.getLastRow()+1,1, VDSLdata.length,
VDSLdata[0].length).setValues(VDSLdata);
}
var ITr = IT.getRange('A:AS');
var ITrawdata = ITr.getValues();
var ITd= []
for (var i = 0; i< ITrawdata.length ; i++){
if(ITrawdata[i][44] == "Y")
{
ITd.push(ITrawdata[i])
}
Pull.getRange(Pull.getLastRow()+1,1, ITd.length,
ITd[0].length).setValues(ITd);
}
**Edit: it won't let me post a picture of my error yet. Here's a few
examples though:
Error (1):**
var VDSLr = VDSL.getRange('A:AS');
var VDSLraw = VDSLr.getValues();
var VDSLdata = []
for (var i = 0; i< VDSLraw.length ; i++){
if (VDSLraw[i][44] != "Y")**continue**;
if (VDSLraw[i][44] == "Y");
{
VDSLdata.push(VDSLraw[i])
}
}
Pull.getRange(Pull.getLastRow()+1,1, VDSLdata.length,
VDSLdata[0].length).setValues(VDSLdata);
var ITr = IT.getRange('A:AS');
var ITrawdata = ITr.getValues();
var ITd= []
for (var i = 0; i< ITrawdata.length ; i++){
if (ITrawdata[i][44] != "Y")continue;
if (ITrawdata[i][44] == "Y")
{
ITd.push(ITrawdata[i])
}
}
Pull.getRange(Pull.getLastRow()+1,1, ITd.length,
ITd[0].length).setValues(ITd);
Так что, если я добавлю здесь продолжить, он не будет читать длину.Код ошибки "Не удается прочитать свойство" length "из неопределенного. Я знаю, что это правильно. Это то, что я пытаюсь обойти." VDSL "это лист, который обычно не имеет то, что я ищу. Но так как он выигралне могу найти длину, по которой он не будет продолжать "IT".
Я также перемещался по продолжениям в разные точки, и даже разрыв (в том же месте, что и продолжение), но мои комбинации, кажется,обеспечить бесконечный цикл с той же информацией.
Другая попытка - с помощью операторов if else. Когда я использую их, я получаю ошибку синтаксиса. На этой ошибке (2) я попытался:
if (VDSLraw[i][44] == "Y")
{//code here}
else if (VDSLraw[i][44] != "Y"){break};
Мне кажется, что я делаю это более сложным, чем это, должно быть простым оператором if / then, но, поскольку мне нужно вытащить данные и скомпилировать их на одном листе, цикл for - лучший путьПросто не могу понять последнюю часть. Я мог бы сделать их по отдельности, но это мое последнее средство. Там 12 листов, поэтому каждый раз нажимать 12 сценариев мне не нужно.