清除下拉菜单后自动清除单元格+修复本地时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了清除下拉菜单后自动清除单元格+修复本地时间相关的知识,希望对你有一定的参考价值。
我正在创建一个包含不同表格(每周一个)的共享议程,必须由不同的人填写。每次修改某个单元格(下拉菜单)时,都会在同一行的另一个单元格中报告更改日期。
我的代码目前有两个问题:
1)我希望日期显示为dd/mm/yy
2)如果修改过的单元格被清除(如果删除了文本)或从下拉菜单中选择了-
(或--
或---
),则更改日期也应消失。
我发现这种类型的代码很难调试。
答案
它对我有用:
function onEdit(e) {
var ss=e.source;
var rg=e.range;
var sh=rg.getSheet();
if(rg.columnStart!=2 && rg.columnStart!=10 && rg.columnStart!=18 && rg.columnStart!=26 && rg.columnStart!=34){return;}
setClearOnNoValue(e);
}
function setClearOnNoValue(e) {
var rg=e.range;
var sh=rg.getSheet();
if(e.value && e.value.length>0) {//added e.value.length>0
sh.getRange(rg.rowStart, rg.columnStart + 3).setValue(Utilities.formatDate(new Date(new Date().getFullYear(),new Date().getMonth()+1,new Date().getDate(),new Date().getHours(),new Date().getMinutes()),Session.getScriptTimeZone(),"d/MMM/yyyy HH:mm"));
}else{
sh.getRange(rg.rowStart, rg.columnStart + 3).setValue('');
}
}
以上是关于清除下拉菜单后自动清除单元格+修复本地时间的主要内容,如果未能解决你的问题,请参考以下文章