Нужна помощь в редактировании скрипта для перемещения нескольких строк на другую вкладку, чтобы включить еще одно поле - PullRequest
0 голосов
/ 16 февраля 2020

https://docs.google.com/spreadsheets/d/1RaZXsOND3GptpD8W7CZPA6ntjChDp8Dmc6PMMhRBCJw/edit?usp=sharing

Хорошо, скрипт работает, НО я не могу указать поля, которые я хочу переместить. На самом деле это просто поле даты. Я не хочу, чтобы текстовое поле A3 перемещалось только в поле B3, введенное вручную, а затем все остальное под ним.

Вот текущий код, который я использую, который я нашел здесь и адаптированный к нашим потребностям, просто не могу получить это ОДНО поле. Конечно, это что-то простое, просто не могу сосредоточиться, надеясь, что кто-то может помочь:

function reMove() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getActiveSheet();

  var destinationSheet = ss.getSheetByName("Archive");

  //max 7 to Archive 
  for(var a=0;a<200;a++){

    var values = sourceSheet.getRange("A4:BY100").getValues();

      for(var v=0;v<values.length;v++){

        //row J, index 9
        if(values[v][3] !==  ""){

           destinationSheet.appendRow(values[v]);
           sourceSheet.deleteRow(v+1);
           break;

        }
      }
    }
    }

1 Ответ

1 голос
/ 17 февраля 2020

Вот правильный код, который делает именно то, что мне было нужно ...

function reMove() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var range = ss.getSheetByName('UPLOAD').getRange('A3:BY');
  var values = range.getValues().filter(function (r) {return r[0]})
  values[0][0] = null;
  range.offset(1, 0).clear()
 ss.getSheetByName("Process").clear().getRange(1, 1, values.length, values[1].length).setValues(values)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...