Google Tabellen: Zellen automatisch (on edit) ändern?
Hallo, ich weiß, dass es etwas unverschämt ist, nach einem kompletten Programmcode zu fragen, nur weil man sich nicht die Mühe machen möchte, sich in die Scriptsprache einzulesen. Aber ich muss nur dieses eine Mal mit Google Tabellen arbeiten, weil der Kunde meines Chefs damit arbeitet, und ich soll gerade "mal eben" die Tabelle erstellen und werde mein Wissen danach nie wieder brauchen :( Bedingte Formatierungen usw. habe ich mit google herausbekommen, aber bei der folgenden Anweisung scheitert es bei mir. Mir ist klar, dass ich eine Funktion in den "Scripteditor" eintragen muss und auch, dass es sich wahrscheinlich um "OnEdit" handelt. Aber ich habe keine Ahnung von Variablen, Ranges, ActiveSheets usw. Vielleicht ist jemand so gut und schreibt mir diese Funktion? Ich glaube, das sind nur wenige Zeilen. Lieben Dank.
Aufgabe: Wenn in einer Zelle in Spalte A etwas neu eingetragen (notfalls: wenn etwas verändert) wird, dann soll in jener Zeile in die Zelle in Spalte D automatisch das aktuelle Datum eingetragen werden und in Spalte E die Wortfolge "NEUE Lagerung".
Wie gesagt, ich weiß, dass das ein wenig unverschämt ist, aber ich habe gerade einfach nicht die Zeit, eine ganze Scriptsprache zu lernen, nur für dieses eine Mal... Danke Schön!
1 Antwort
Besonders unverschämt, wenn du auch noch Geld für die Arbeit bekommst, um die du andere bittest. ;-)
function onEdit(e) {
var range = e.range.offset(0, 3, 1);
var curDate = Utilities.formatDate(new Date(), "GMT+1", "dd.mm.yyyy")
if (e.range.columnStart == 1){
range.setValue(''+curDate);
}
}
Kein Problem, ich habe das ja auch freiwillig gemacht. ;)
Das ist jetzt übrigens nur das Datum. Wenn du den Code verstehst, solltest du das mit "NEUE Lagerung" selbst hinbekommen. Falls nicht, sag bescheid.
lieben dank. ja, ich habe das hinbekommen. mein ergebnis sieht so aus:
function onEdit(e) {
var range = e.range.offset(0, 3, 1);
var curDate = Utilities.formatDate(new Date(), "GMT+1", "dd.MM.yyyy")
if (e.range.columnStart == 1){
range.setValue(''+curDate);
var range = e.range.offset(0, 4, 1);
range.setValue(''+"neue Lagerung");
}
}
---
das ergebnis war erst komisch. ich hab
Utilities.formatDate gegoogelt und festgestellt, dass du in deinem code kleine "m" und große "M" verwechselt hast, ich bekam immer die minuten eingetragen :) danach habe ich ganz stumpf den abschnitt mit dem range kopiert.
es klappt. lieben dank!!
Ups, Flüchtigkeitsfehler. ;-) Schön, dass es jetzt klappt. :)
mein geld bekomme ich eigentlich für andere tätigkeiten, dieses hier liegt nicht wirklich in meinem aufgabenbereich - aber wenn andere nicht da sind und der kunde termine setzt, heißt es dann schonmal "ach frau h., machen sie mal bitte diese übersicht und die freigaben, um die der kunde gebeten hat, damit das heut noch fertig wird..." - so ist das wohl in kleinen firmen :( jedenfalls: vielen lieben dank für die funktion, ich werde das gleich ausprobieren und sorry, ich wollte deine arbeitskraft wirklich nicht "ausnutzen" :)