Как выбрать заданную c область вставки таблицы при перемещении строки с помощью функции редактирования - PullRequest
0 голосов
/ 05 февраля 2020

Я использую следующую функцию onEdit () для перемещения строк на другой лист на основе раскрывающегося списка. Как конкретно выбрать, где строка будет вставлена ​​на другой лист (в идеале в ячейку J6)? На данный момент все, что я знаю, это команда getLastRow (), но она не выполняет то, что я хочу.

Заранее спасибо!

/* 
**** Move a row onEdit determined by a specific Cell value***
*/

// Names of sheets
var sourceSheet = "Andover"
var destinationSheet = "Andover Leaderboard"

/* col: the column to watch,  
 * changeVal: what value you want to change,
 * del: do you want to delete after the change?
*/

var check = {
  "col": 9,
  "changeVal": "Tracker",
  "del": true
};

/* What you want to paste into the other sheet.
 * start: start column
 * cols: how many columns you want to copy
*/

var pasteRange = {
  "start": 1, 
  "cols": 8
};

function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet()

  if (sheet.getName() === sourceSheet) {

    //Get active cell
    var cell = sheet.getActiveCell();
    var cellCol = cell.getColumn();
    var cellRow = cell.getRow(); 

    if (cellCol === check.col) {
      if (cell.getValue() === check.changeVal) {

        //Select the range you want to export
        var exportRange = sheet.getRange(cellRow, pasteRange.start, 1, pasteRange.cols);

        //Select the paste destination
        var pasteDestination = ss.getSheetByName(destinationSheet);
        var pasteEmptyBottomRow = pasteDestination.getLastRow () + 1;

        //Copy the row to the new destination
        exportRange.copyTo(pasteDestination.getRange(pasteEmptyBottomRow, 1),
                           SpreadsheetApp.CopyPasteType.PASTE_VALUES);     
      };
    };
  };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...