Inhaltsverzeichnis automatisch in Excel erstellen

In diesem Artikel zeigen wir ein nützliches Skript zum Erstellen eines dynamischen Inhaltsverzeichnisses für eine Excel-Arbeitsmappe mithilfe eines Skripts. Dieses Skript ist sehr hilfreich, wenn Sie eine umfangreiche Excel-Arbeitsmappe haben und einfach zwischen den einzelnen Blätter navigieren möchten. Das Skript erstellt ein neues Registerblatt und fügt pro Blatt den Namen und den Hyperlink ein.

Damit Sie eine Übungsdatei haben, haben wir hier eine Beispiel-Excel-Datei hochgeladen: table-of-contents

Nehmen wir an, Sie haben die folgenden Daten und die drei Blätter:

Kopieren Sie einfach das folgende Skript und fügen Sie es in den Code-Editor ein. Klicken Sie dann auf Ausführen, um das Skript auszuführen. Wenn Sie noch nie ein Skript erstellt haben, lesen Sie doch zuerst diese Anleitung: Mein erstes Skript in Excel

Skript für Inhaltsverzeichnis in Excel

Unten finden Sie ein TypeScript-Skript, das beim Hinzufügen zur Beispielarbeitsmappe ein Inhaltsverzeichnis erstellt:

function main(workbook: ExcelScript.Workbook) {
  // Insert a new worksheet at the beginning of the workbook.
  let tocSheet = workbook.addWorksheet();
  tocSheet.setPosition(0);
  tocSheet.setName("Table of Contents");

  // Give the worksheet a title in the sheet.
  tocSheet.getRange("A1").setValue("Table of Contents");
  tocSheet.getRange("A1").getFormat().getFont().setBold(true);

  // Create the table of contents headers.
  let tocRange = tocSheet.getRange("A2:B2")
  tocRange.setValues([["#", "Name"]]);

  // Get the range for the table of contents entries.
  let worksheets = workbook.getWorksheets();
  tocRange = tocRange.getResizedRange(worksheets.length, 0);

  // Loop through all worksheets in the workbook, except the first one.
  for (let i = 1; i < worksheets.length; i++) {
    // Create a row for each worksheet with its index and linked name.
    tocRange.getCell(i, 0).setValue(i);
    tocRange.getCell(i, 1).setHyperlink({
      textToDisplay: worksheets[i].getName(),
      documentReference: `'${worksheets[i].getName()}'!A1`
    });
  };

  // Activate the table of contents worksheet.
  tocSheet.activate();
}

Dieses Skript führt die folgenden Aufgaben aus:

  1. Erstellt am Anfang der Arbeitsmappe ein neues Arbeitsblatt mit dem Namen „Inhaltsverzeichnis“.
  2. Legt einen Titel für das Inhaltsverzeichnis-Arbeitsblatt fest.
  3. Fügt Kopfzeilen („#“ und „Name“) zum Inhaltsverzeichnis-Arbeitsblatt hinzu.
  4. Durchsucht die Excel-Datei nach vorhandenen Blättern und listet diese auf.
  5. Durchläuft jedes Arbeitsblatt (mit Ausnahme des ersten) und füllt das Inhaltsverzeichnis mit Hyperlinks zu einzelnen Blättern.

Das Arbeitsblatt mit dem Inhaltsverzeichnis wird mit anklickbaren Links zu allen anderen Blättern erstellt und bietet so eine effiziente Möglichkeit, durch die Arbeitsmappe zu navigieren.

Resultat des Skripts:

Dieses TypeScript-Skript vereinfacht die Erstellung eines Inhaltsverzeichnisses und verbessert die Organisation und Zugänglichkeit von Daten in Ihrer Excel-Arbeitsmappe. Sie können das Skript jederzeit an Ihre spezifische Arbeitsmappenstruktur und Ihre Vorlieben anpassen.

Benötigen Sie einen VBA Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen