Wie kann ich in einer Google-Tabelle das momentane Datum als Feld setzen?
Heyhoo,
ich würde gerne wissen, ob es geht, dass wenn man bei z.B. Feld B18 etwas reinschreibt automatisch bei z.B. Feld C18 Das Datum von Heute gesetzt wird?
Ich bin so weit:
=WENN(B18 = "";"";..... Datum setzen...)
Freue mich über jede Hilfe :3
LG AGac3 | Pascal
1 Antwort
Hallo Pascal,
ich würde das über ein Makro organisieren.
function onEdit() { // wenn tabelle editiert wird
var sheet = SpreadsheetApp.getActiveSheet(); // sheet ist name der aktiven tabelle
var columnNumberToWatch = 1; // spalte, deren bearbeitung folgen haben soll, hier A
var dateColumn = 7; // spalte, in der das Datum eingetragen wird, hier G
var range = sheet.getActiveCell(); // range auf aktive Zelle legen
var roww = range.getRow(); // aktive reihe merken
if (range.getColumn() == columnNumberToWatch) { // Wenn die aktive Spalte die zu überwachende ist
var targetCell = sheet.getRange(range.getRow(), dateColumn); // Adresse der Datums-Zelle merken
targetCell.setValue("" + Utilities.formatDate(new Date(), "GMT+1", "YYYY-MM-dd")); // dort Datum eintragen
} // Ende des If
} // Ende der Funktion.
Das ist wahrscheinlich gewurschtelt, ich bin eigentlich keine, die sowas kann und habe erst vor einiger Zeit angefangen, mich überhaupt mal Scripten zu beschäftigen, aber es sollte funktionieren. Wahrscheinlich kann man das Script eleganter lösen, ich aber nicht.
Bevor es geht musst Du irgendwelche Berechtiungen setzen, indem Du im Scripteditor auf das "Play"-Symbol klickst und dann die Autorisierung bestätigst.
LG
Anne
Hey,
stimmt es so? Weil wenn ich es so mache funktioniert es nicht. Es funktioniert nicht. Der Name ist auch 100% der, der in der Google-Tabelle steht.
function onEdit() { // wenn tabelle editiert wird
var sheet = SpreadsheetApp.getActiveSheet(); // sheet ist name der aktiven tabelle
if (sheet == "Team-Besprechungsthemen") {
var columnNumberToWatch = 1; // spalte, deren bearbeitung folgen haben soll, hier A
var dateColumn = 2; // spalte, in der das Datum eingetragen wird, hier G
var range = sheet.getActiveCell(); // range auf aktive Zelle legen
var roww = range.getRow(); // aktive reihe merken
if (range.getColumn() == columnNumberToWatch) { // Wenn die aktive Spalte die zu überwachende ist
var targetCell = sheet.getRange(range.getRow(), dateColumn); // Adresse der Datums-Zelle merken
targetCell.setValue("" + Utilities.formatDate(new Date(), "GMT+1", "dd.mm.yyyy")); // dort Datum eintragen
} // Ende des If
} // Ende der Abfrage
} // Ende der Funktion.
Wäre es möglich, dass man nur in ein bestimmtes Tabellenblatt mit dem Skript machen kann? Weil bei den anderen Tabellenblättern soll es nicht so sein.