我非常非常擅长这一点。提前抱歉我的无知。
我正在尝试自动填充多个工作表中包含日期的列。我有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);
}
此脚本在ONE工作表上执行所需的操作。我尝试创建3个与上面完全相同的脚本,只需将“Customer Received”替换为其他工作表名称;这导致这些表中只有一个正常运行。我从下面的帖子中了解到,我无法为一张表单执行多个onEdit脚本,这就是为什么我的第一次尝试无效。
Google script to work across multiple sheets
我在这两个主题的帮助下得到了这么多(加上我现在找不到的一个;我没有加书签):
Auto-updating column in Google Spreadsheet showing last modify date
基本上,我在这个网站上找到了很多帮助,以便为我提供一些问题的答案,但我还没有完全解决问题。 你们任何人都可以把剩下的部分推给我吗? :)我正在寻找甚至可能吗?
答案 0 :(得分:0)
删除对工作表名称的检查将使其适用于特定工作表中的所有工作表
function onEdit(event) {
var watchCol = [2],
stampCol = [1],
ind = watchCol.indexOf(event.range.columnStart);
if (ind == -1 || event.range.rowStart < 4) return;
event.source.getActiveSheet()
.getRange(event.range.rowStart, stampCol[ind])
.setValue(event.value ? new Date() : null);
}