【发布时间】:2016-07-30 20:19:38
【问题描述】:
当“1”的值添加到第 3 列时,我目前正在将 sheet1 上的一行的值复制到 sheet2。我不想复制每个单元格的值,而是引用 sheet1 上的单元格所以 sheet2当 sheet1 上的数据更新时更新。目前,我有:
function hotList(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "sheet1" && r.getColumn() == 3 && r.getValue() == "1") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("sheet2");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
}
我希望有一个简单的替代 copyTo 的方法,我可以在这里插入,但任何想法都会受到赞赏。
【问题讨论】:
-
您是否希望 Sheet2 中的单元格中包含
=Sheet1!B3之类的内容?如果是这样,请使用 setFormula 来执行此操作。 -
谢谢,@bookend - 这帮助我到达了那里。 if(s.getName() == "sheet1" && r.getColumn() == 4 && r.getValue() == "1") { var row = r.getRow(); var numColumns = s.getLastColumn(); var targetSheet = ss.getSheetByName("热门列表"); var lastRow = targetSheet.getLastRow();最后一行 = 最后一行 + 1; for (i=0; i
-
如果您已经找到解决问题的方法,请将其发布为答案。
标签: javascript google-apps-script google-sheets