Ich habe ein gut funktionierendes Skript zum Kopieren von Zellen gemacht * OnEdit (col16 auf Blatt 2) wenn eine Zeile in Col16 = "Ja") zur letzten Zeile der benutzerdefinierten Spalte auf Blatt (jetzt Col4). Aber ich habe eine Abfrage basierte Daten auf Blatt , so kopiert mein Skript Daten nur, wenn ich "Ja" von Hand eingeben. Aus diesem Grund muss ich dieses Skript jetzt per Knopfdruck oder als zeitgesteuerten Auslöser ausführen. Kann es nicht per Knopfdruck zur Arbeit bringen. Wie ändere ich das folgende Skript, um durch Klicken auf die Schaltfläche arbeiten zu können?Wie OnEdit-Skript in Run-by-Button-Skript (kopieren Sie Zellen von 1 Blatt zu einem anderen mit Regel)
function onEdit(e) {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
if (sheet.getName() !== '2' || e.range.getColumn() !== 16 || e.value !== 'Yes') return;
var value = e.range.offset(0,-12,1,1).getValue();
sheet = e.source.getSheetByName('1');
var grd = sheet.getRange("D:D").getValues();
var maxIndex = grd.reduce(function(maxIndex, row, index) {
return row[0] === "" ? maxIndex : index;
}, 0);
sheet.getRange(maxIndex+2,e.range.getColumn()-12,1,1).setValue(value);
}
UPDATE: Ich habe versucht, mein Skript so zu verändern, zu Taste zugewiesen und nach Knopf- es „Running ..... dann Finished ...“ sagen zu klicken, aber es Kopieren Sie nichts (aber es funktioniert, wenn OnEdit (e) ist, und ich bekomme keinen Fehler. Aber es scheint, es ist nicht genug, ändern Sie einfach "OnEdit (e)" zu "copymissings()", ich muss ändern etwas im Code, aber ich weiß nicht, was genau Bitte helfen.
function copymissings() {
var s = SpreadsheetApp.getActive();
if (s.getName() !== '2' || range.getColumn() !== 16 || value !== 'Yes') return;
var value = range.offset(0,-12,1,1).getValues();
sht = s.getSheetByName('1');
var grd = sheet.getRange("D:D").getValues();
var maxIndex = grd.reduce(function(maxIndex, row, index) {
return row[0] === "" ? maxIndex : index;
}, 0);
sht.getRange(maxIndex+2,range.getColumn()-12,1,1).setValues(value);
}
Visualisierung: CLICK TO SEE GIF
Mögliches Duplikat [Wie Sie UI innerhalb von Zellen in einer Google-Tabelle mit App-Skript fügen Sie?] (Https://stackoverflow.com/questions/6876819/how-do-you-add-ui-inside -cells-in-a-google-tabelle-using-app-script) –
Was meinst du damit, dass es nicht durch Knopfdruck ausgeführt werden kann? Was hast du probiert? Haben Sie eine Fehlermeldung erhalten? –
Hallo, ich habe meinen Beitrag aktualisiert – Stz