在单元格A1中进行任何更改时,如何将单元格A2的值更改为“ Today()”?

时间:2019-05-15 08:24:56

标签: google-apps-script google-sheets google-sheets-formula google-sheets-macros

我正在Google电子表格中进行项目管理。自动将我的评论字段中的更改自动更改为change_date-field = TODAY()的脚本将帮助我节省一些时间,并将此功能用于将来我可能需要的其他脚本。

当前,当我在注释字段中进行更改时,我必须在change_date字段中手动输入更改日期,我认为这很容易实现自动化。

不幸的是,我不知道如何为此编写代码。

当我在名为“ comment”的列中进行任何更改时,我想在名为“ change_date”的列中返回值“ = TODAY()”。你们能用一个脚本自动帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果您可以共享所指电子表格的版本以帮助我们更准确地回答问题,这可能会有所帮助。

根据所提供的信息,一些可以帮助您的想法可能是: 1.使用setFormula将请求的单元格更改为today()。像

function setToday() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var range = sheet.getRange('B1'); //Set the cell here
 range.setFormula('=today()');
}

2。直接在脚本中添加日期

    function newDate() {
     var sheet = SpreadsheetApp.getActiveSheet();
     var range = sheet.getRange('B1'); //Set the cell here
     var today = Utilities.formatDate(new Date(),Session.getScriptTimeZone(),'dd//MM/yy');
     range.setValue(today);
    }

在编辑特定单元格时,您可以使用onEdit触发器来更新单元格。

function onEdit(e){
 var sheet = SpreadsheetApp.getActiveSheet();
 var range = e.range;
 var column = range.getColumn();
 var row = range.getRow();
 if (column==2) { //Replace 2 with the column number of your comments cell//
   var newRange = sheet.getRange(row,column+1); //If the date is in the next column
 newRange.setFormula('=today()');
 }

抱歉,我不能更具体了。