Google App Script Bestimmten Zellinhalt bei Änderung einer bestimmten Zelle löschen

Lena_1995

Newbie
Registriert
Okt. 2020
Beiträge
3
Hallo zusammen,

ich bin ganz neu bei Google App Script und bekomme folgende Funktion nicht gebaut:

Wenn ich eine Änderung des Zellwertes der Zelle D16 vornehme, soll der Inhalt folgender Zellen gelöscht werden:
D18:D26
U18:U26
AD18:AD26

und außerdem soll in folgenden Zellen der Wert auf "FALSE" gesetzt werden:
AK19
AK21
AK23
AK25
AK27
(zur Erklärung: Hier ist eine Checkbox, in welcher der Haken deaktiviert werden soll).

Ich habe mich mal wie folgt rangetastet, wobei vorallem der erste Teil natürlich blödsinn ist. Ich habe aber nirgendswo ausfindig machen könne, wie ich bestimme dass die funktion nur dann ausgelöst wird, wenn ich in Zelle D16 eine Änderung vornehme.



Javascript:
function onEdit(e) {

  var range = e.range.offset(0, 2, 1);


  if (e.range.columnStart == 1){

    zellenInhaltLoeschen();

  }

}


function zellenInhaltLoeschen(){
 var sheet=SpreadsheetApp.getActiveSheet();
 var destination1="D18:D26";"U18:U26";"AD18:AD26";
 sheet.getRange(destination1).setValue("");
 var destination2="AK19";"AK21";"AK23";"AK25";"AK27";
 sheet.getRange(destination2).setValue("FALSE");
}


Entscheidend ist auch noch, dass diese Funktion nur auf dem Tabellenblatt "Formular" ausgelöst und auch nur hier zellwerte gelöscht bzw. auf False gesetzt werden dürfen. Alle sonstigen Tabellenblätter in der Datei sollen also hiervon völlig unberührt bleiben.
Für Hilfe wäre ich wirklich sehr dankbar.

Liebe Grüße
Ergänzung ()

Also ich bin schon mal ein kleines Stück weiter:

Javascript:
function onEdit(e) {

  var range = e.range.offset(0, 2, 1);


  if (e.range.columnStart == 1){

    zellenInhaltLoeschen();

  }
 
    if (e.range.columnStart == 1){

    zellenInhaltFalse();

  }

}


function zellenInhaltLoeschen(){
 var sheet=SpreadsheetApp.getActiveSheet();
  var destination1="D18:D26";
  var destination2="U18:U26";
  var destination3="AD18:AD26";
    sheet.getRange(destination1).setValue("");
    sheet.getRange(destination2).setValue("");
    sheet.getRange(destination3).setValue("");
}

function zellenInhaltFalse(){
  var sheet=SpreadsheetApp.getActiveSheet();
  var destination1="AK19";
  var destination2="AK21";
  var destination3="AK23";
  var destination4="AK25";
  var destination5="AK27";
    sheet.getRange(destination1).setValue("FALSE");
    sheet.getRange(destination2).setValue("FALSE");
    sheet.getRange(destination3).setValue("FALSE");
    sheet.getRange(destination4).setValue("FALSE");
    sheet.getRange(destination5).setValue("FALSE");
}


Das macht zumindest schonmal ansatzweise das was ich möchte, allerdings führt er die funktion nur aus, wenn ich in spalte eins irgend einen wert verändere. ich möchte aber dass diese funktion nur dann ausgeführt wird wenn ich in Zelle D16 etwas verändere. Und irgendwo muss ich vermutlich noch bestimmen, dass die Funktion nur auf dem Tabellenblatt "Formular" ausgeführt und ausgelöst werden darf.
 
Zuletzt bearbeitet:
Kann keiner helfen? will keiner helfen? ein ansatz würde mir sicher schon etwas bringen.
 
Zurück
Oben