Google apps script 当另一个工作表中的特定单元格值更改时触发脚本

Google apps script 当另一个工作表中的特定单元格值更改时触发脚本,google-apps-script,google-sheets,Google Apps Script,Google Sheets,大家好,我正在使用下面的GoogleSheets脚本将一张纸的全部内容复制到另一张纸上。我希望此脚本仅在被复制的工作表的单元格TI中出现值更改时触发。有人知道怎么做吗?非常感谢你的帮助 function Packaging() { var t = SpreadsheetApp.openById('sheetid'); var pp = t.getSheetByName('UP'); var ppk = pp.getRange(1,1,pp.getLastRow(),pp.getLastCo

大家好,我正在使用下面的GoogleSheets脚本将一张纸的全部内容复制到另一张纸上。我希望此脚本仅在被复制的工作表的单元格TI中出现值更改时触发。有人知道怎么做吗?非常感谢你的帮助

function Packaging() {
 var t = SpreadsheetApp.openById('sheetid');


var pp = t.getSheetByName('UP');
var ppk = pp.getRange(1,1,pp.getLastRow(),pp.getLastColumn()).getValues();
var data = []                       
for (var i = 0; i< ppk.length ; i++){
if(ppk[i][24] == "Yes")        
{
data.push(ppk[i])
}
}


var s = SpreadsheetApp.getActiveSpreadsheet();


var sp = s.getSheetByName('DOWN');
sp.getRange(1,1,sp.getLastRow(),sp.getLastColumn()).clearContent();
sp.getRange(1,1,data.length,data[0].length).setValues(data);  

sp.deleteColumns(29, 7);

}
试试这个:

function onEdit(e) {
  var sh=e.range.getSheet();
  if(sh.getName()=='Sheet being copied' && e.range.columnStart=="col of cell" && 
  e.range.rowStart=="row of cell" && e.value=="special value of cell") {
    var vA=sh.getDataRange().getValues();
    e.source.getSheetByName('sheet to copy to').getRange(1,1,vA.length,vA[0].length).setValues(vA);
  }
}
也许这是价值变化的原因:

function onEdit(e) {
  var sh=e.range.getSheet();
  if(sh.getName()=='Sheet being copied' && e.range.columnStart=="col of cell" && 
  e.range.rowStart=="row of cell" && e.oldValue && e.value!=e.oldValue) {
    var vA=sh.getDataRange().getValues();
    e.source.getSheetByName('sheet to copy to').getRange(1,1,vA.length,vA[0].length).setValues(vA);
  }
}

嘿coopyer谢谢你的帮助:我在尝试时遇到了这个错误SyntaxError:作业第3行的左侧无效,文件Code.gs我是想把你的代码放在我的代码下面还是只替换我的整个代码?因为我把它换了。我希望脚本在复制的工作表的单元格T1发生更改时触发。谢谢:如果我希望它仅在T1中的值增加或减少时更改,该怎么办。顺便说一下,我有一个康塔公式。OneEdit仅适用于用户编辑。当单元格值因脚本操作或公式计算而更改时,则不会更改。啊,我不知道。这可能会因为公式计算而改变吗?问题是我们在服务器上,他们必须小心由于电子表格中的值变化而发生的变化,因为如果每个人都实现了这些类型的触发器,服务器将无法跟上。