Пересмотреть скрипт листа Google, чтобы копировать значения, а не формулы - PullRequest
0 голосов
/ 30 ноября 2018

Мне нужно изменить приведенный ниже сценарий, чтобы на другой лист копировались только ЗНАЧЕНИЯ, а не формулы.Спасибо!

function onEdit(event) {
  // assumes source data in sheet named ClientList
  // target sheet of move to named CLOSED
  // test column with C is col 7 or G
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "ClientList" && r.getColumn() == 7 && r.getDisplayValue() == "C1" || r.getDisplayValue() == "C2" || r.getDisplayValue() == "C3") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("CLOSED");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
    s.deleteRow(row);
  }
}

1 Ответ

0 голосов
/ 30 ноября 2018
  • Вы хотите копировать только значения без включения формул.
    • Каждая ячейка, включая формулы, копируется как вычисленный результат.

Если мое понимание верно, как насчет изменения следующим образом?

От:

s.getRange(row, 1, 1, numColumns).copyTo(target);

До:

s.getRange(row, 1, 1, numColumns).copyTo(target, {contentsOnly: true});

Ссылка:

Если я неправильно понял ваш вопрос, пожалуйста, скажите мне.Я хотел бы изменить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...