Скопировать диапазон и вставить только строки со значениями на другой лист в следующей пустой строке? - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь построить из того, что было решено здесь:

Как скопировать диапазон и вставить только строки со значениями на другой лист?

Я хочу сделать это с большим диапазоном (O1: X500 на листе с именем «RGDR»), копируя только строки со значениями в них, а затем вставляя их в новый лист («ACTUALFUNC») в следующую пустую строку .

Лист здесь: https://docs.google.com/spreadsheets/d/1vvXQxBGffwBAjbXKqx4N-ZFcX40wuV7gg9flb6STWtA/edit?usp=sharing

Ниже приведен код, который я уже пробовал. Он переносит только первый столбец данных.

function copyRangeNoEmpties(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('RGDR');
  var copyToSheet=ss.getSheetByName('ACTUALFUNC');
  var copyFromRange=sh.getRange('O1:X500');
  var vA=copyFromRange.getValues();
  var oA=[];
  for(var i=0;i<vA.length;i++)
  {
    if(vA[i][0])
    {
      oA.push([vA[i][0]]);
    }
  }
  var copyToRange=copyToSheet.getRange(1,1,oA.length,1);
  copyToRange.setValues(oA);
}

Хотите составить текущий список результатов, выполняя его один раз в день. Любая помощь или вклад будет принята с благодарностью.

1 Ответ

0 голосов
/ 03 января 2019

Это добавит ваши данные в следующую строку на вашем листе назначения.

function copyRangeNoEmpties(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('RGDR');
  var des=ss.getSheetByName('ACTUALFUNC');
  var src=sh.getRange('O1:X500');
  var vA=src.getValues();
  for(var i=0;i<vA.length;i++) {
    if(vA[i].join("")) {
      des.appendRow(vA[i]);
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...