2016-07-28 3 views
1

Я пытаюсь создать код для Google Spreadsheets. В коде VBA это очень просто. Моя цель состоит в том, что когда конкретная ячейка заполнена, другая ячейка отображает дату и время завершения.Добавить временную метку программно

В VBA:

Function DateTime() 
    DateTime = NOW 
End Function 
+0

Какую ячейку вы контролируете и какой из них вы хотите ввести? «new Date()» предоставит текущую дату/время в JS. –

+0

Не работает только замена новой Date() для Now. –

+0

Возможный дубликат [для добавления данных в одну ячейку автоматически при изменении другой ячейки в электронных таблицах Google] (http://stackoverflow.com/questions/14865134/to-add-data-in-one-cell-automatically-when- other-cell-is-edit-in-google-spre) –

ответ

1

На основе вашего последнего комментария о том, что вы хотите позвонить custom function из листа интерфейса Google, все, что вам нужно в Script Editor (бэкэнда) является:

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()); 
    } 
} 

Надеюсь, это поможет.

NB:Обратите внимание, что этот код будет работать только с 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: информация о вопросе должна быть включена в вопрос. –

Смежные вопросы