繁体   English   中英

修改代码 - 在编辑中选择某些列。 Google Apps 脚本/Google 表格

[英]Modify Code - Select Certain Columns onEdit. Google Apps Script / Google Sheets

我无法让这段代码做我想要做的事情。 如果第 10 列中的值为 TRUE,则在 SendToTotalSales 上运行排序查询 - NOT ONLINERELOCATION

function MoveDonations(e) {
var sh=e.range.getSheet();
if(sh.getName()!='ONLINERELOCATION')return
if(e.range.columnStart==10 && e.value=="TRUE") {

e.source.getActiveSheet().getRange(row,????).setFormula('=SORT(QUERY(ONLINERELOCATION!A2:J,"SELECT A, 
F, G, D",0))'); 

}
//var tsh=e.source.getSheetByName("SendToTotalSales");
//var trg=tsh.getRange(tsh.getLastRow()+1,1);
//sh.getRange(e.range.rowStart,1,1,4).copyTo(trg);
}

我希望我很接近!

提前致谢

  • 检查ONLINERELOCATION纸张中列“j”的复选框时,您希望将列“a,d,f,g”的值复制到SendToTotalSales的纸张中为“A,F,G,D”。 .
  • 您想使用 Google Apps 脚本来实现这一点。

如果我的理解是正确的,这个答案怎么样? 请将此视为几种可能的答案之一。

示例脚本:

在这种情况下,您还可以使用简单的 OnEdit 事件触发器 ( onEdit(e) )。

function MoveDonations(e) {
  var range = e.range;
  var sheet = range.getSheet();
  if (sheet.getSheetName() == "ONLINERELOCATION" && range.columnStart == 10 && range.columnEnd == 10 && range.rowStart >= 2 && e.value == "TRUE") {
    var [[a,,,d,,f,g]] = sheet.getRange(range.rowStart, 1, 1, 7).getValues();
    e.source.getSheetByName("SendToTotalSales").appendRow([a, f, g, d]);
  }
}
  • 为了运行脚本,请选中ONLINERELOCATION表中“J”列的复选框。 这样,行的值被复制到SendToTotalSales

笔记:

  • 我认为当使用'=SORT(QUERY(ONLINERELOCATION!A2:J,"SELECT A, F, G, D",0))' ,所有值都被放置。 所以我提出了上面的脚本。
  • 而且我不确定您的情况是否需要重复的过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM