Ich versuche, einen bestimmten Bereich meines Blattes onEdit
automatisch so zu sortieren, dass auf der Oberseite eine leere Zelle ist und nach unten die ältesten Einträge. Ich habe diesen Code aus here bekommen und versucht, es für meine Bedürfnisse zu ändern:Sortieren eines bestimmten Bereichs auf Bearbeiten()
function onEdit(e)
{
var sheet = ss.getActiveSheet();
if(sheet != ss.getSheetByName('cover sheet'))
{
var editRange = { // B4:J6
top: 29,
bottom: sheet.getLastRow()+1,
left: 4,
right: 11
};
// Exit if we're out of range
var thisRow = e.range.getRow();
if (thisRow < editRange.top || thisRow > editRange.bottom) return;
var thisCol = e.range.getColumn();
if (thisCol < editRange.left || thisCol > editRange.right) return;
// We're in range; timestamp the edit
var ss = e.range.getSheet();
ss.getRange(editRange).sort({column: 1, ascending: true});
}
}
Aber das funktioniert nicht. Irgendwelche Ideen? Hier ist der Link zu einem sample sheet.
Grüße
Was ist damit nicht funktioniert? Können Sie ein Beispiel angeben, um zu zeigen, was es tut und was es tun soll? –
Es sollte die bestimmten Zeilen in einem Blatt sortieren, wenn das Blatt nicht das Deckblatt ist. Es tut nichts. Ich werde eine Beispiel-Tabelle erstellen – Jonnyboy
Versuchen Sie, die Funktion aus dem Code-Editor mit einigen 'Logger.log ('einige Text hier:' + VariablenName) 'Anweisungen, dann VIEW die Protokolle, um zu sehen, was es in den Protokollen gedruckt. Beispielsweise. Setzen Sie 'Logger.log ('it ran!')' Ganz oben in die Funktion, um festzustellen, ob die Funktion ausgeführt wird oder nicht. Ändern Sie die erste 'if' Anweisung in:' if (sheet.getName() === 'Deckblatt') ' –