Я пытаюсь создать несколько циклов, но если один цикл возвращает ноль, он не запускает остальную часть цикла.Как мне обойти это? - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть несколько циклов 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 сценариев мне не нужно.

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