Развернуть формулы при копировании - PullRequest
0 голосов
/ 13 июня 2019

Сценарий копирует все формулы на один столбец вправо, но формула должна расширяться также вправо.

Пример: A1 + A3 -> B1 + B3

прямо сейчас формула просто дублируется при запуске скрипта

function copyFormulas() {
  var activeSheet,numberOfSourceColumnsToGet,sourceColumnStart,sourceFormulas,sourceRange,
      sourceRowStart,targetColumn,targetRange,targetRowStart;

  //USER INPUT

  sourceRowStart = 1; //Row to start getting formulas from
  sourceColumnStart = 4; //Column to start getting formulas from
  numberOfSourceColumnsToGet = 1; //Number of columns to get formulas from

  targetRowStart = 1; //Row to start copying formulas to
  targetColumn = 5; //Column to start copying formulas to

  //END OF USER INPUT

  activeSheet = SpreadsheetApp.getActiveSheet();
  sourceRange = activeSheet.getRange(sourceRowStart, sourceColumnStart, activeSheet.getLastRow(), numberOfSourceColumnsToGet);

  sourceFormulas = sourceRange.getFormulas();//Get only formulas from the source range

  targetRange = activeSheet.getRange(targetRowStart,targetColumn,sourceFormulas.length,sourceFormulas[0].length);

  targetRange.setFormulas(sourceFormulas);//Copy the formulas to the target range
}

1 Ответ

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

Как говорит @ АлександрЕрмолин, вы используете неправильную команду. Попробуйте это:

function so5657743702() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sheetname = "56577437";
  var sheet = ss.getSheetByName(sheetname);
  var sourcerange = sheet.getRange("A4");
  var targetrange = sheet.getRange("B4");
  sourcerange.copyTo(targetrange, SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...