Ich würde gerne einen einfachen Countdown basierend auf der Zeit Informationen eingegeben und 30 Tage in der Zukunft ... Zelle "Dat" hätte die Zeit Informationen eingegeben und Cell "Date" würde habe 30 Tage in der Zukunft mit Zelle D mit dem Countdown. Vorläufig konnte ich die eingegebene Zeit und 30 Tage in der Zukunft registrieren. Ich erhalte jedes Mal einen Fehler, wenn ich dies in der Zelle "Time left" ausführe ich wissen, wenn Sie mir helfen können!Countdown-Uhr für Google Sheets
function onEdit(event)
{
var timezone = "GMT-04:00";
var timestamp_format = "M/dd/yyyy"; // Timestamp Format.
var updateColName = "Name";
var updateColName2 = "Address";
var updateColName3 = "Address";
var timeStampColName = "Date";
var timeStampColName2 = "Dat";
var timeStampColName3 = "Date";
var timeStampColName4 = "Time";
var updateColName4 = "Address";
var timeStampColName5 = "Time Left";
var updateColName5 = "Address";
var sheet2 = event.source.getSheetByName('Sheet1');
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers2 = sheet2.getRange(1, 1, 1,
sheet2.getLastColumn()).getValues();
var headers4 = sheet2.getRange(1, 1, 5,
sheet2.getLastColumn()).getValues();
var headers5 = sheet2.getRange(1, 1, 4,
sheet2.getLastColumn()).getValues();
var dateCol2 = headers2[0].indexOf(timeStampColName2);
var dateCol4 = headers4[0].indexOf(timeStampColName4);
var dateCol5 = headers5[0].indexOf(timeStampColName5);
var updateCol2 = headers2[0].indexOf(updateColName2); updateCol2 =
updateCol2+1;
var updateCol4 = headers4[0].indexOf(updateColName4); updateCol4 =
updateCol4+1;
var updateCol5 = headers5[0].indexOf(updateColName5); updateCol5 =
updateCol5+1;
if (dateCol2 > -1 && index > 1 && editColumn == updateCol2)
{ var cell2 = sheet2.getRange(index, dateCol2 + 1);
var date2 = Utilities.formatDate(new Date(), timezone,
timestamp_format);
cell2.setValue(date2);
}
if (dateCol4 > -1 && index > 1 && editColumn == updateCol4)
{ var cell4 = sheet2.getRange(index, dateCol4 + 1);
var date = new Date();
var secondDate = new Date(date.setDate(date.getDate()+ 30));
cell4.setValue(secondDate);
Logger.log(secondDate);
}
if (dateCol5 > -1 && index > 1 && editColumn == updateCol5)
{ var cell5 = sheet2.getRange(index, dateCol5 + 1);
var future = Utilities.formatDate(new
Date(date.setDate(date.getDate()+ 30)), timezone, timestamp_format);
//var future = new Date(); // get NOW
//future.setDate(future.getDate() + 30); //Add the specified days to
the current time
cell5.setFormula('=' + secondDate + '- now()');
Hier ist ein Beispiel Link, wo ich versuchte, den Code auszuführen.
https://docs.google.com/spreadsheets/d/1brkXxkSut3xUVK2ouUsUaMyle-EnRV4dzxWVAaXIabg/edit?usp=sharing
Lassen Sie mich wissen, wenn Sie noch etwas brauchen, das ich vielleicht verpasst habe!
Vielen Dank im Voraus,
Martin
Welchen Fehler bekommen Sie? – noogui
Nur eine Fehlermeldung in den Zellen. Es nimmt die Informationen zu wörtlich, beispielsweise "Donnerstag, September, 12:00:00 Uhr", so dass es schwierig ist, sie zu subtrahieren oder hinzuzufügen. – Martin111