2016-08-29 5 views
0

Ich brauche alphabetisch eine Liste in einem Bereich nach Namen, aber aus irgendeinem Grund in einem Punkt fehlschlagen und mir eine "Die Zellreferenz ist außerhalb des Bereichs." in Zeile var tmp_range = raw_range.sort(1);Google Script: Kann einen Bereich mit getRangeByName nicht sortieren

Das seltsame Denken ist im ersten Anruf scheint zu funktionieren, aber mit dem zweiten Anruf (mit anderen Bereichsnamen) fehlschlagen.

function getValuesOfRange(range_name){ 
    var raw_range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(range_name); 
    Logger.log(raw_range); 
    if (raw_range != null){ 
    Logger.log(range_name); 
    var tmp_range = raw_range.sort(1); 
    } 
    ... 
} 

Antwort

1

Die wahrscheinlichste Ursache ist, dass Sie einen falschen Index innerhalb des Parameters angeben. Die Sortierfunktion verwendet verschiedene Arten von Argumenten. Prüfen Sie hier

https://developers.google.com/apps-script/reference/spreadsheet/range#sortsortspecobj

// Sorts by the values in the first column (A) 
range.sort(1); 

So zum Beispiel, wenn Ihr benannten Bereich von 'Sheet1'!D1:D9 ist die Sortierung wie range.sort(4); sein sollte

Also in Ihrem Fall ändern raw_range.sort(1) zu raw_range.sort(raw_range.getColumn())

+0

Thx. Ich ändere 'raw_range.sort (1)' durch 'raw_range.sort (raw_range.getColumn())' und arbeite perfekt. Können Sie Ihre Antwort mit diesem Code bearbeiten, um sie als richtige Antwort zu markieren? – inye

+0

Aktualisiert die Anwsser –

Verwandte Themen