Der 400-Fehler und wie er aussieht

Eines schönen Tages startet man sein Excel-Makro (hier in Version 2007) und erhält eine besonders aussagekräftige Dialogbox:

Excel - 400-Fehler - Screenshot

Es herrscht sicherlich Einigkeit darüber, dass dies aus Usability-Sicht unschön ist. Mindestens. Eigentlich sogar ein GAU. Anderseits – um die Dramatik rauszunehmen: größtenteils sehen diese Meldung Anwender mit breiterem IT-Horizont. Man muss zumindest Makros dazu haben. Und Anwender mit solchen Fähigkeiten sind schon wieder weniger hilflos als reine Nutzer.

Was ist da los? Eine Variante

Die neue „Symbolleiste für den Schnellzugriff“ (so der Name) über den Tool-Ribbons erlaubt es, eigene Makros mit einem Icon startbar zu machen (more Geeky: „launchen“). Dabei wird hinter das Icon eine Referenz zu einem Makro in einer Datei angelegt. Der kursiv-gestellte Teil ist wichtig.

Hat man durch zu-Fuss-Versionierung die Datei mit den Makro umbenannt („Version-2011-Apr“ zu „Version-2011-May“) können sich zwei Effekte überlagern:

  • Man öffnet die neue Datei um die aktuellen Daten zu bearbeiten. Alles klappt – Daten sind da, Makros laufen.
  • Aber: wenn man Makros für den Schnellzugriff via Icon angelegt hat, macht diese Symbolleiste die Versionierung nicht mit. Also: die Makros werden aus der alten Datei geholt – laufen aber auf den neuen Daten.

Das ist zunächst alles kein Problem. Das entsteht, wenn man die Datei mit den Makros irgendwann umbenennt oder löscht. Dann fehlt dem jeweiligen Makro-Icon das Ziel – es greift ins Leere.

Offensichtlich ist das zumindest in der Version 2007 ein nicht explizit von Microsoft abgefangener Fehlerfall. Sonst hätten die Entwickler bei dieser Exception auch eine passende Beschreibung ausgegeben. Scheinbar läuft dieser Fehlerzustand in eine allgemeine Fehlerklasse und die gibt dann nur die Meldung „400“ aus.

Darum ist das hier beschriebene Szenario vermutlich nicht das einzige, dass diesen Fehlercode liefert. Es gibt vermutlich mehrere Fehlerfall-Lücken, bei denen diese allgemeine Fehlerausgabe angesteuert wird.

Was kann man da tun?

Im hier geschilderten Szenario

  • kurzfristig: Die Icons in der Schnellstartleiste neu anlegen und auf Makro in einer definitiv existierenden Datei zeigen lassen. Liegen die Makros allerdings wieder in der zu versionierenden Arbeitsdatei, wird sich das Problem vermutlich irgendwann wieder ergeben. Dann, wenn man die alten Versionen mal wieder bereinigt.
  • langfristig: Excel bietet beim Einrichten der Symbolleiste für den Schnellzugriff in der Dialogbox rechts oben eine Auswahlliste an. Hierin kann man einstellen, dass die Symbolleiste entweder global oder nur für ein bestimmtes Dokument (das geöffnete) angepasst werden soll. Bei einer Fehler 400-Plage bietet es sich an, Makros und Schnellzugriff auf das Dokument zu beschränken. Das gilt insbesondere dann, wenn man die Makros häufiger an seine Bedürfnisse anpasst.