【发布时间】:2016-05-04 16:42:03
【问题描述】:
我对此非常非常陌生。提前为我的无知道歉。
我正在尝试使用跨多个工作表的日期自动填充一列。我有 4 张不同的工作表,当数据输入第二列时,我试图自动在第一列填写日期戳。我希望在所有 4 张纸上都进行完全相同的操作。我一次可以成功获得 1 张,但不是全部 4 张。
我知道要求一个脚本来为我们约会似乎很挑剔,但这会对我们的数据输入人员有所帮助。
这就是我所拥有的:
function onEdit(event) {
var sheetName = 'Customer Received',
watchCol = [2],
stampCol = [1],
ind = watchCol.indexOf(event.range.columnStart);
if (event.source.getActiveSheet()
.getName() !== sheetName || ind == -1 || event.range.rowStart < 4) return;
event.source.getActiveSheet()
.getRange(event.range.rowStart, stampCol[ind])
.setValue(event.value ? new Date() : null);
}
这个脚本在一张纸上做了它需要做的事情。我尝试创建 3 个与上述完全相同的脚本,只是将“收到的客户”替换为其他工作表名称;这导致只有其中一张工作表正常工作。我从下面的线程中了解到,我不能为一张纸执行多个 onEdit 脚本,这就是我的第一次尝试不起作用的原因。
Google script to work across multiple sheets
在这两个线程的帮助下,我得到了这么多的帮助(再加上一个我现在找不到的;该死的我没有加入书签):
Auto-updating column in Google Spreadsheet showing last modify date
基本上,我在这个网站上找到了很多帮助,可以为我找到一些问题的答案,但我还没有完全做到。 你们中的任何人都可以推动我走完剩下的路吗? :) 我正在寻找的甚至可能吗?
【问题讨论】:
-
你快到了。 OnEdit 在 every 工作表的编辑事件上被调用,因此唯一缺少的是要标记日期的工作表数组,或者,如果所有工作表都需要标记日期,那么只需得到活动表,就是这样。完成。