2016-07-28 183 views
1

我正在尝试为Google Spreadsheets创建代码。在VBA代码中,它非常简单。我的目标是,当一个特定的单元格被填满时,另一个单元格显示完成的日期和时间。以编程方式添加时间戳

在VBA:

Function DateTime() 
    DateTime = NOW 
End Function 
+0

哪个单元都在监控,哪一个你想要的日期? “新的日期()”将在JS中给出当前日期/时间。 –

+0

目前无法仅替换新的Date()。 –

+0

[在Google电子表格中编辑另一个单元格时自动在一个单元格中添加数据]的可能副本(http://stackoverflow.com/questions/14865134/to-add-data-in-one-cell-automatically-when-另一个单元格是在谷歌编辑中) –

回答

1

根据您最近的评论,指出要调用从谷歌表前端一个custom function,你会在你的脚本编辑器(后端)需要的是:

function timeStamp() { 
    return new Date(); 
} 

然后,您可以调用从一个公式,函数在您的表格,非常相似,你写的已经:

=IF(ISBLANK(A1), "", timeStamp()) 
+0

太棒了!有用!谢谢! –

0

这是代码,这将有助于你出你想要达到的目的。

下面的代码会将日期添加到要输入值的任何字段的下一列中。

//onEdit is the default "on edit event handler" provided by google app script 
function onEdit(e){ 
    var spreadSheet = e.source; 
    var sheet = spreadSheet.getActiveSheet(); 
    var range = e.range; 
    //only add the date in the next column if value in cell is not empty 
    if(range.getValue() != ""){ 
    var col = range.getColumn(); 
    var row = range.getRow(); 
    //get the very next column 
    var newRange = sheet.getRange(row, col + 1); 
    newRange.setValue(new Date()); 
    } 
} 

希望这会有所帮助。

注:请注意此代码仅适用于scripts bound to google apps

+0

你好,显然没有工作。我相信我的需求更简单。我需要将一个公式IF(IFSBLANK(A1);“”; myFunction())放在一起。 换句话说,我需要myFunction给定固定的日期和时间,以便符合A1。它的公式没有做到这一点,也没有成为可扩展的 - 我做的测试。示例:https://docs.google.com/spreadsheets/d/1i05H3zcI51v4UkFrHpBnTUfJ__1pp46um99wn_VpgC8/edit?usp=sharing –

+1

@GabrielPiffer:有关问题的相关信息应包含在问题中。 –