У меня есть 2 листа с именами Active и Expired. на Активном листе у меня есть столбец с формулой =today()+14 > M2
для всего столбца, чтобы проверить даты вступления в силу. как только это будет True
, я бы хотел, чтобы строка была скопирована на лист с истекшим сроком действия. В настоящее время у меня есть
function copyTo() {
var sourceSheet = "Active"
var destinationSheet = "Expired"
var check = {
"col":14,
"changeVal": true,
/*"del": false */
};
var pasteRange = {
"start": 1,
"cols": 18
};
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){
var exportRange = sheet.getRange(cellRow,pasteRange.start,1,pasteRange.cols);
var pasteDestination = ss.getSheetByName(destinationSheet);
var pasteEmptyBottomRow = pasteDestination.getLastRow() + 1;
exportRange.copyTo(pasteDestination.getRange(pasteEmptyBottomRow,1),
SpreadsheetApp.CopyPasteType.PASTE_VALUES);
/*if(check.del){
sheet.deleteRow(cellRow);*/
};
};
};
};
, но моя проблема заключается в var cell = sheet.getActiveCell();
, так как активная ячейка никогда не выбирается, поэтому ее невозможно оценить, так как True
из формулы, которая автоматически изменится на эту дату ,
по существу, просто любая строка, в которой эта формула меняется на True
, я бы хотел скопировать на просроченный лист на основе ongoning. я не могу использовать запрос или фильтр, так как данные активного листа будут обновляться на постоянной основе по истечении 14 дней.
Спасибо.