Pano Automation
Menü

Kennen Sie das? · Tempo und Datenstruktur

Warum ist unsere Excel-Datei so langsam geworden?

Öffnen, Neuberechnen, Makro starten: Jeder Schritt dauert Minuten, und immer öfter zeigt Excel nur noch „Keine Rückmeldung“.

Kurz gesagt

Meist liegt es nicht am Rechner, sondern daran, wie das Tool gewachsen ist: Makros lesen und schreiben Zelle für Zelle, Formeln rechnen bei jeder Eingabe große Teile der Mappe neu, und dieselben Daten liegen auf vielen Blättern verteilt. Wir ordnen die Datenstruktur und stellen die Makros so um, dass sie ganze Bereiche in einem Zug in den Arbeitsspeicher laden, dort rechnen und das Ergebnis in einem Zug zurückschreiben. Bevor die neue Fassung in Betrieb geht, rechnen alt und neu mit denselben Daten, und die Zahlen müssen übereinstimmen.

Das Problem

Warum ein gewachsenes Excel-Tool immer langsamer wird

Selten gibt es die eine Ursache. Meist kommen mehrere Bremsen zusammen, und jede wächst mit der Datenmenge. Mit ein paar Testzeilen fällt davon nichts auf.

Makros arbeiten Zelle für Zelle

Jeder Zugriff auf eine Zelle ist ein eigener Weg zwischen Makro und Excel. Bei 5.000 Zeilen mit je zwei Werten und einem Ergebnis sind das 15.000 Wege, oft mit Bildschirmaktualisierung und Neuberechnung nach jedem einzelnen Schreiben.

Formeln rechnen immer wieder alles neu

Funktionen wie INDIREKT, BEREICH.VERSCHIEBEN oder HEUTE werden bei jeder Berechnung neu ausgewertet, samt allem, was davon abhängt. Dazu kommen Matrixformeln über ganze Spalten und bedingte Formatierungen über riesige Bereiche.

Ein Reiter je Projekt, Daten doppelt gepflegt

Mit jedem Projekt kommt ein Blatt dazu. Auswertungen sammeln ihre Werte über viele Blätter ein, dieselben Angaben stehen an mehreren Stellen, und ausgeblendete Blätter rechnen still mit.

Die Mappe schleppt Ballast mit

Formate über ganze Spalten, ein benutzter Bereich weit unter der letzten Datenzeile, alte Namen, Verknüpfungen und Formen aus kopierten Blättern machen vor allem Öffnen und Speichern langsam.

So gehen wir vor

Erst messen, dann umbauen, dann die Zahlen abgleichen

  1. Messen statt raten

    Wir messen Öffnen, Speichern, Neuberechnen und jedes Makro einzeln und halten die Zeiten als Ausgangswert fest.

  2. Datenstruktur ordnen

    Daten kommen in saubere Tabellen mit eindeutigen Schlüsseln. Berechnung und Ausgabe werden getrennt, Ballast wird entfernt.

  3. Makros auf Arrays umstellen

    Ein Makro liest einen Bereich in einem Zug in den Arbeitsspeicher, rechnet dort und schreibt das Ergebnis in einem Zug zurück. Statt Listen zu durchsuchen, findet es Zeilen über ihren Schlüssel. Bildschirm und Berechnung ruhen während des Laufs und werden danach in jedem Fall wieder eingeschaltet.

  4. Alt gegen neu prüfen

    Beide Fassungen rechnen mit denselben Daten. Erst wenn alle Ergebnisse übereinstimmen, geht die neue Fassung in Betrieb, mit den gemessenen Zeiten vorher und nachher.

Der Unterschied auf einen Blick

Zelle für Zelle15.000einzelne Zugriffe auf das Blatt
In einem Zug2Zugriffe, gerechnet wird im Arbeitsspeicher
Beispiel mit 5.000 Zeilen: je Zeile zwei Werte lesen und ein Ergebnis schreiben. Gezählt sind Zugriffe, nicht Sekunden.

Wie viel schneller Ihr Tool wird, zeigt erst die Messung am echten Tool. Deshalb nennen wir vorab keinen Faktor, sondern messen vorher und nachher.

Für Technikinteressierte: der Unterschied im VBA-Code
Dim ws As Worksheet, i As Long, daten As Variant, ergebnis() As Variant
Set ws = ThisWorkbook.Worksheets("Daten")

' Vorher: Zelle für Zelle, 5.000 Zeilen = 15.000 Zugriffe auf das Blatt
For i = 2 To 5001
    ws.Cells(i, 21).Value = ws.Cells(i, 5).Value * ws.Cells(i, 6).Value
Next i

' Nachher: einmal lesen, im Arbeitsspeicher rechnen, einmal schreiben = 2 Zugriffe
daten = ws.Range("E2:F5001").Value
ReDim ergebnis(1 To 5000, 1 To 1)
For i = 1 To 5000
    ergebnis(i, 1) = daten(i, 1) * daten(i, 2)
Next i
ws.Range("U2:U5001").Value = ergebnis

Beide Fassungen liefern dieselben Werte. Die zweite greift nur zweimal auf das Blatt zu, alles andere läuft im Arbeitsspeicher. Microsoft empfiehlt genau dieses Vorgehen für schnellere Makros.

Nachrechenbares Beispiel

Wo die Zeit verloren geht

Beispiel

Menge mal Preis für 5.000 Zeilen

Zelle für Zelle: je Zeile 2 Werte lesen, 1 Ergebnis schreiben15.000 Zugriffe
Als Array: einmal lesen, einmal schreiben2 Zugriffe
Zugriffe auf das Blatt15.000 → 2
Rechenbeispiel zur Zahl der Zugriffe, keine Zeitmessung. Wie viel Zeit das spart, hängt von Mappe, Formeln und Rechner ab.
  • BeobachtungMit ein paar Testzeilen ist das Makro im Nu fertig. Mit dem echten Datenbestand dauert es Minuten, und mit jeder neuen Zeile wird es langsamer.
  • Besonders teuerSucht ein Makro für jede von 5.000 Zeilen die passende Zeile in einer zweiten Liste mit 5.000 Einträgen, sind das bis zu 25 Millionen Vergleiche, Zelle für Zelle. Über einen eindeutigen Schlüssel findet es dieselbe Zeile ohne Suchschleife.
  • Pano-BezugUnsere Standard-Codebasis, die wir in Kundenprojekten wiederverwenden, bringt Hilfsfunktionen für Arrays mit. Übernehmen wir ein gewachsenes Tool, messen wir vorher und nachher und gleichen die Zahlen ab.
Unsere Bausteine auf der Startseite ansehen →

Häufige Fragen

Was Sie vor dem Umbau wissen sollten

Hilft ein schnellerer Rechner?

Etwas, aber selten genug. Makros laufen in Excel auf einem einzigen Prozessorkern, zusätzliche Kerne beschleunigen sie nicht. Wer 15.000 Einzelzugriffe auf zwei reduziert, gewinnt in der Regel mehr als mit neuer Hardware.

Sollen wir die Berechnung einfach auf manuell stellen?

Das verschiebt das Warten nur und bringt ein neues Risiko: Die Zahlen sehen richtig aus, sind aber womöglich nicht neu berechnet, und die Einstellung gilt für alle offenen Mappen. Wir schalten die Berechnung nur während eines Makros aus und stellen sie danach in jedem Fall wieder her.

Müssen wir auf eine Datenbank umsteigen?

Nicht unbedingt. Viele gewachsene Tools werden in Excel wieder schnell, wenn Struktur und Code stimmen. Arbeiten mehrere Personen gleichzeitig mit denselben Daten oder wächst der Bestand stark weiter, kann eine Access- oder SQL-Server-Datenbank die bessere Grundlage sein. Das klären wir in der Analyse.

Bleiben unsere Zahlen dabei gleich?

Das ist die Bedingung für die Abnahme. Alte und neue Fassung rechnen mit denselben Daten, jede Abweichung wird geklärt, bevor umgestellt wird. Manchmal deckt der Abgleich dabei alte Fehler auf, etwa Zeilen, die ein fester Bereich nie erfasst hat. Dann entscheiden Sie, welcher Wert gilt.

Kann das nicht eine KI umschreiben?

Eine KI kann einzelne Schleifen umschreiben. Sie kennt aber weder die Abhängigkeiten zwischen Ihren Blättern noch die Sonderfälle in Ihren Daten, und sie prüft nicht, ob die Zahlen danach noch stimmen. Umgekehrt profitiert die KI vom Umbau: Klare Tabellen mit eindeutigen Schlüsseln sind die Grundlage, wenn Copilot oder andere Assistenten später mit Ihren Daten arbeiten sollen.

Nächster Schritt

Messen wir, wo Ihre Zeit verloren geht

Eine Kopie Ihres Tools reicht für den Anfang, gern mit anonymisierten Daten. In einer Analyse zum Festpreis messen wir die langsamen Stellen, prüfen Datenstruktur, Formeln und Makros und sagen Ihnen, was ein Umbau bringt und ob Excel die richtige Grundlage bleibt.