Ich stieß auf eine alte Hilfeformular, wo eine script is shared to organize sheets in einer Tabelle mit Javascript. Das Skript ist wie folgt:Google Sheets Script: Sortieren Sie Blätter alphabetisch in einer Tabelle
function copyAllSheetsToAnotherSpreadsheetInAlphabeticalOrder() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceName = ss.getName();
var sourceSheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var targetName = "Sheets alphabetized - Copy of " + sourceName;
var sheetNumber, sourceSheet, sheetName;
var sheetAlphaArray = new Array();
// create a new empty target spreadsheet
var targetSpreadsheet = SpreadsheetApp.create(targetName);
var targetUrl = targetSpreadsheet.getUrl();
// iterate through all sheets in the source spreadsheet to collect their names and numbers
for(sheetNumber = 0; sheetNumber < sourceSheets.length; sheetNumber++) {
sheetAlphaArray[sheetNumber] = new Array(2);
sheetName = sourceSheets[sheetNumber].getName();
// we will sort the array by the sheet name so it needs to be the first element
sheetAlphaArray[sheetNumber][0] = sheetName;
// need to keep track of sheet numbers so that we can find the sheets
// in alphabetical order from the sourceSheets array, place it in the second element
sheetAlphaArray[sheetNumber][1] = sheetNumber;
}
// sort the sheet names array in ascending alphabetic order
sheetAlphaArray.sort();
// iterate through all sheets in the source spreadsheet by sheet name in alphabetic order
//
// new sheets are always added to the first position, so the sheets need to be added
// last sheet first, first sheet last, otherwise they would appear in reverse order
for(sheetNumber = sourceSheets.length - 1; sheetNumber >= 0; sheetNumber--) {
// copy next sheet in reverse alphabetical order from the source spreadsheet to target spreadsheet
sourceSheet = sourceSheets[ (sheetAlphaArray[sheetNumber][1]) ];
sourceSheet.copyTo(targetSpreadsheet);
}
// done, tell user where to find the new spreadsheet
Browser.msgBox("Spreadsheet copied with sheets in alphabetical order. " +
"Target name: " + targetName + ". " +
"Target URL: " + targetUrl) + ".";
}
Nach dem Ausführen des Skripts mehr Seiten in alphabetischer Reihenfolge sortiert zu werden scheinen, aber, nachdem sie durch die sortierten Seiten Scrollen gibt es ein paar, die nicht sortiert worden sind. Die ersten 15 werden sortiert, gefolgt von 21 unsortierten.