我不是一个程序员,但设法拼凑了一个脚本,似乎无法让最后一部分工作。我想将activelog字符串传递给日志,感觉这是一个我忽略的简单语法问题:
var activelog = e.source.getSheetByName("SHEET1").getRange("A1").getValue();
var log = e.source.getSheetByName(activelog);
Activelog获取Sheet1上包含所有相关工作表列表的下拉菜单单元格A1的值。然后,如果在Sheet1的B1中键入了某些内容,则脚本会在C列中复制一个公式。现在指定工作表名称“LOG”工作正常:
function onEdit(e) {
var activelog = e.source.getSheetByName("SHEET1").getRange("A1").getValue();
var log = e.source.getSheetByName("LOG");
var lr = log.getLastRow();
var fdr = log.getRange(1,23,lr);
var formula = "";
if (e.source.getActiveSheet().getName() !== "SHEET1" || e.range.rowStart != 1 || e.range.columnStart != 2 ) return
log.getRange("C1").setFormula(formula);log.getRange("C1").copyTo(fdr);
}
答案 0 :(得分:1)
如果表格为空,则var keyword = req.query.keyword;
var **filterby** = req.query.id;
Client.find({
$and: [{
"firstname": new RegExp('^' + keyword + '$', "i")
},
{
userid: **filterby**
}
]
}
将返回var lr = log.getLastRow()
。然后当0
尝试log.getRange(1,23,lr)
时,它会出错,因为它是无效范围。
如果工作表为空,请添加getRange(1,23,0)
将log.getLastRow() || 1;
设置为lr
。
1
答案 1 :(得分:0)
在最后一行返回后,您错过了;
。
现在,如果范围不正确并且它符合您的条件,则会return log.getRange("C1").setFormula(formula);
如果它没有输入if,那么它只是log.getRange("C1").copyTo(fdr);
而没有先设置公式