Excel-Berichte automatisieren mit Office Scripts: Zeitsparende Tipps zur Formatierung
Hier ist ein detailliertes Tutorial, wie du Berichte in Excel mithilfe von Office Scripts automatisierst. Office Scripts ist das moderne Pendant zu VBA und funktioniert hervorragend in Excel im Web sowie in der Desktop-Version (Microsoft 365).
Manuelle Formatierung von exportierten Daten ist zeitfressend und fehleranfällig. Mit Office Scripts kannst du diese Schritte mit einem einzigen Klick erledigen. In diesem Tutorial lernst du, wie du einen rohen Datenexport in einen professionellen Bericht verwandelst.
1. Voraussetzungen
- Eine Microsoft 365 Lizenz (Business oder Enterprise).
- Excel für das Web oder die Desktop-App.
- Der Reiter „Automatisieren“ muss im Menüband sichtbar sein.
2. Den Script-Editor öffnen
- Öffne deine Excel-Datei mit den Rohdaten.
- Klicke im oberen Menü auf den Reiter Automatisieren.
- Wähle Neues Skript. Auf der rechten Seite öffnet sich der Code-Editor.
3. Das Automatisierungs-Skript erstellen
Kopiere den folgenden Code in den Editor. Dieses Skript erledigt die wichtigsten Formatierungsschritte: Überschriften fixieren, Farben anpassen, Spaltenbreiten optimieren und Zahlenformate festlegen.
function main(workbook: ExcelScript.Workbook) {
// 1. Das aktuelle Arbeitsblatt auswählen
let sheet = workbook.getActiveWorksheet();
let usedRange = sheet.getUsedRange();
// Falls das Blatt leer ist, Script beenden
if (!usedRange) return;
// 2. Tabellenkopf formatieren (Erste Zeile)
let headerRange = usedRange.getRow(0);
headerRange.getFormat().getFill().setColor("#4472C4"); // Blaues Design
headerRange.getFormat().getFont().setColor("white");
headerRange.getFormat().getFont().setBold(true);
// 3. Spaltenbreite automatisch anpassen
usedRange.getFormat().autofitColumns();
// 4. Zahlenformat anpassen (z.B. für Spalte C als Währung)
// Hinweis: Passe den Bereich "C:C" an deine Bedürfnisse an
let currencyColumn = sheet.getRange("C:C");
currencyColumn.setNumberFormatLocal("#.##0,00 €");
// 5. Gitternetzlinien und Rahmen
usedRange.getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeBottom).setStyle(ExcelScript.BorderLineStyle.continuous);
// 6. Abwechselnde Zeilenfarben (Zebramuster) für bessere Lesbarkeit
let rowCount = usedRange.getRowCount();
for (let i = 1; i < rowCount; i++) {
if (i % 2 === 0) {
usedRange.getRow(i).getFormat().getFill().setColor("#EDF2FA");
}
}
console.log("Bericht erfolgreich formatiert!");
}
4. Das Skript anpassen und speichern
- Farben: Du kannst die Hex-Codes (z. B.
#4472C4) ändern, um sie an dein Corporate Design anzupassen. - Zahlenformate: Wenn deine Umsätze in einer anderen Spalte stehen, ändere
sheet.getRange("C:C")entsprechend ab. - Speichern: Klicke oben im Editor auf den Namen (standardmäßig „Skript 1“), benenne es in „Format_Bericht“ um und klicke auf Speichern.
5. Das Skript ausführen
- Gehe zurück zu deinem Arbeitsblatt mit den Rohdaten.
- Klicke im Reiter Automatisieren auf dein neues Skript „Format_Bericht“.
- Drücke den Button Ausführen.
- Innerhalb von Sekunden werden alle Spalten angepasst, der Kopf eingefärbt und das Zebramuster angewendet.
6. Pro-Tipp: Schaltfläche im Tabellenblatt erstellen
Damit du oder deine Kollegen nicht jedes Mal das Menü öffnen müssen, kannst du das Skript direkt verknüpfen:
- Klicke im Editor bei deinem Skript auf die drei Punkte (...).
- Wähle Schaltfläche hinzufügen.
- Nun erscheint ein Button direkt im Excel-Sheet. Ein Klick darauf startet die Formatierung sofort.
Warum Office Scripts statt VBA?
- Cloud-fähig: Funktioniert in Teams und Excel Online.
- Sicherheit: Keine Makro-Warnungen oder Sicherheitsrisiken wie bei alten .xlsm-Dateien.
- Power Automate: Du kannst dieses Skript in einen automatischen Workflow einbinden (z. B. „Sobald eine E-Mail mit einem Bericht ankommt, formatiere die Datei automatisch“).
Mit diesem einfachen Setup sparst du dir die täglichen Handgriffe bei der Aufbereitung deiner Daten!