Как скопировать диапазон выбора курсора на другой лист - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь создать скрипт, который будет копировать диапазон выбора курсора на другой лист, скрипт частично работает

Сценарий копирует некоторые значения, некоторые из значений, выбранных на целевом листе

     function copy(){

   var sh = SpreadsheetApp.getActiveSheet();
   var ss = SpreadsheetApp.getActiveSpreadsheet(); 
   var range = ss.getActiveRange();
   var srange = range.getA1Notation();
   var crange= ss.getRange(srange);
   var data = crange.getValues();



  var tss = SpreadsheetApp.openById('id');
  var ts = tss.getSheetByName('Tracker'); 
  ts.getRange('B16:K200').setValue(data)

}

Скрипт должен скопировать выбранное значение мышью с выбранного листа в указанное место для целевого листа

1 Ответ

0 голосов
/ 20 июня 2019

Ключ должен идентифицировать активный диапазон и соответствующие значения строки и столбца. Затем, используя «B16» в качестве отправной точки для аута, вы просто добавляете количество строк и количество столбцов, рассчитанное по активному диапазону.

Выделите любой диапазон, запустите функцию, и содержимое диапазона будет скопировано на тот же лист с ячейкой «B16» в верхнем левом углу.

Очень просто изменить код для создания выходного диапазона и скопировать значения в другую электронную таблицу.


function so5666559701() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetname = "56665597";
  var sheet = ss.getSheetByName(sheetname);
  var myrange = sheet.getActiveRange();
  var myvalues = myrange.getValues();
  //Logger.log("DEBUG: the active range = "+myrange.getA1Notation());
  var myfirstRow = myrange.getRow();
  var mylastRow = myrange.getLastRow();
  var myfirstCol = myrange.getColumn();
  var mylastCol = myrange.getLastColumn();
  //Logger.log("DEBUG: details of the selectred range: row: first row="+myfirstRow+", first column="+myfirstCol+", last row="+mylastRow+" last column:"+mylastCol);

  // target cell = B16 = row 16, column 2
  var targetrange = sheet.getRange(16,2,mylastRow-myfirstRow+1,mylastCol-myfirstCol+1);
  //Logger.log("DEBUG: the target range = "+targetrange.getA1Notation());
  targetrange.setValues(myvalues);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...