GSheets Script, копировать только значения (потому что некоторые ячейки пусты, но содержат условные формулы) - PullRequest
0 голосов
/ 30 апреля 2018

Я действительно надеюсь, что кто-нибудь может мне помочь. Моя проблема заключается в том, что все копируется в порядке, но некоторые исходные ячейки, которые отображаются пустыми, на самом деле содержат условные формулы. Если они копируются так, как сейчас работает скрипт, скопированные ячейки выглядят пустыми и не имеют формулы, но мне нужно вручную удалить значения (которых я не вижу), чтобы снова запустить скрипт и заставить его поместить их в правильные строк. Имеет ли это смысл? Я думаю, что копирование значений только изначально решит проблему?

function showAlert() {
var ui = SpreadsheetApp.getUi(); // Same variations.

var result = ui.alert(
 'Please confirm',
 'Ready to submit this data?',
  ui.ButtonSet.YES_NO);

// Process the user's response.
if (result == ui.Button.YES) {
// User clicked "Yes".

var ss = SpreadsheetApp.getActiveSpreadsheet ();
var sourceSheet = ss.getSheetByName("Form");
var source = sourceSheet.getRange("B5:I");

var destSheet = ss.getSheetByName("Data");
var lastRow = destSheet.getLastRow();
if (lastRow) destSheet.insertRowAfter(lastRow);
source.copyTo(destSheet.getRange(lastRow + 1,1), {contentsOnly: true});

var sheet = SpreadsheetApp.getActive().getSheetByName('Form');
sheet.getRange('D5:I').clearContent();
sheet.getRange('F2').clearContent();
sheet.getRange('F3').clearContent();

ui.alert('Success!.');
} else {
// User clicked "No" or X in the title bar.

}
}  

1 Ответ

0 голосов
/ 30 апреля 2018

Если вы хотите результаты и без формул.

source.copyTo(destSheet.getRange(lastRow + 1,1));

должен дать вам массив значений без формульных усложнений.

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