Ich habe das folgende Skript geschrieben, sodass Sheets automatisch eine neue Zeile einfügt und eine Formel in diese neue Zeile kopiert.Google Tabellen - Hinzufügen neuer Zeilen nach dem ersten Bearbeiten der angegebenen Spalten/Datenüberprüfung
Ich habe angegeben, dass ich möchte, dass diese Funktion nur ausgeführt wird, wenn Änderungen an Spalten 2 oder 4 vorgenommen werden, das Skript jedoch unabhängig von der Spaltennummer ausgeführt wird oder ob e.oldValue === undefined ist oder nicht.
Zwei Fragen:
1) Was ist mit meinem Code falsch ist, dass es die Spaltennummer und die Datenvalidierung ignoriert?
2) Wenn ein Wert in eine Zelle eingegeben und gelöscht wird, wird diese Zelle wieder auf undefiniert oder ist ihr Wert jetzt ""? Hier
ist ein Link zu dem Blatt: https://docs.google.com/spreadsheets/d/1m58J7vg_xfkrxK_9pxPSHAlBYULXbqNIiF8H2-KVBgE/edit#gid=1496977189
Code:
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var activeCell = sheet.getActiveCell();
var activeColumn = activeCell.getColumn();
var walkoutRange = sheet.getRange(7, 17, 1);
var walkoutFormula = walkoutRange.getFormulas();
Logger.log(walkoutFormula);
var newRange = sheet.getRange((activeCell.getRow() + 1), 17, 1)
if (sheet.getName() != "Form") {
if (activeColumn === 2 || 4) {
if (e.oldValue === undefined) {
sheet.insertRowAfter(activeCell.getRow());
newRange.setFormula(walkoutFormula);
}
}
}
};
Vielen Dank für die Hilfe! – thehamburglar