美好的一天!我是 Excel 和 Apps 脚本的新手,我正在尝试在列上添加时间戳,该时间戳将在我编辑单元格时显示。我的 A 列包含我要输入的信息,并且需要 B 列显示我输入的时间 - 只有时间,没有日期。 D 至 E 列也是如此。非常感谢您对公式/代码的任何帮助。
我试过这个:
/** @OnlyCurrentDoc */
function onEdit(e){
const sh = e.source.getActiveSheet();
sh.getRange ('M' + e.range.rowStart)
.setValue (new Date())
.setNumberFormat ('MM/dd/yyyy HH:MMam/pm');
}
但这显示了我在当前工作表的单元格中所做的所有编辑。因此,当我编辑 C 列时,时间戳会显示在这里。我需要在 B 列时间戳中显示 A 列编辑,以及在 D 列到 E 中显示。
您可以检查编辑了哪一列,并在 B 或 D 列中添加时间戳,如下所示:
/** @OnlyCurrentDoc */
function onEdit(e) {
if (e.range.getColumn() == 1 || e.range.getColumn() == 3) {
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(e.range.getRow(), e.range.getColumn() + 1)
.setValue(new Date())
.setNumberFormat('HH:MMam/pm');
}
}