Sitemap  · Français  · English  · Deutsch
Home
Home » Presse

Presse

Zaubern mit Excel

Resoom.de ist ein Portal für IT-Freiberufler. Neben einem Magazin mit interessanten Interviews, Reportagen und Essays finden Sie auf der Website spezialisierte Suchmaschinen, z.B. zu Projekten und Freiberuflern.

In der Ausgabe Mai/Juni 2008 des Magazins, Seite 16 und 17, haben wir einen Artikel zu VBA, Excel und Co. publiziert. Folgend unser Artikel…
Mourad Louha
Zaubern mit Excel
Das ist einer der schönsten Seiten an der Selbstständigkeit, wenn ein Kunde von den vorgestellten Lösungen überzeugt ist. Ein Umstand, der für beide Seiten, Kunde und Entwickler, zufrieden stellend ist.

Was macht nun die Zufriedenheit eines Kunden aus?

Nehmen wir beispielsweise ein Unternehmen aus dem Mittelstand, welches ein Produktionsplanungs- und Steuerungssystem (PPS) auf MS SQL-Basis nutzt.
Das PPS ist schon älteren Jahrgangs, eine Neuanschaffung kommt, z.B. aus Kostengründen, nicht in Frage. Das PPS funktioniert zwar zufrieden stellend, jedoch bietet es keine Möglichkeiten, Daten auszuwerten. Die Datentabellen im PPS sind flach organisiert, es gibt keine in der Datenbank definierten Beziehungen zwischen den Tabellen. Zudem sind einige Daten inkonsistent abgelegt, sei es durch Tippfehler oder durch verschiedene Bezeichnungen für einen und denselben Datensatz. Nun äußert die Geschäftführung den Wunsch nach einem Tool, um z. B. folgende Fragen zu beantworten: "Welcher Kunde hat welchen Artikel produzieren lassen und wie viel Umsatz wurde dabei erzielt?", "Wie hoch ist der Ausschuss und wie viel Material wurde dafür verbraucht?", "Welche Unternehmen waren im letzen Quartal unsere Top-10-Kunden?", "Wie kann ich die Auslastung unserer Anlagen in Abhängigkeit der bestellten Produkte besser planen?"

Die Ausgangssituation im Unternehmen
Was wird nun ein Mitarbeiter des Unternehmens tun, der diese Auswertungen selbst erstellen möchte? Er könnte, sofern auf seinem Rechner installiert, Microsoft Access nutzen und versuchen, zunächst die Rohdaten über einfache Abfragen zu ermitteln. Anschließend würde er vielleicht Beziehungen zwischen den Tabellen herstellen, gegebenenfalls weitere komplexere Abfragen implementieren und zu guter Letzt die Daten in Microsoft Excel importieren bzw. verknüpfen, um Diagramme oder weitere Visualisierungen zu erstellen. Möglicherweise wird er zumindest den letzen Vorgang für jede erneute Auswertung wiederholen. Eine zeitaufwendige Sache.
Und trotzdem bleiben einige Probleme jedoch bestehen:
Die Rohdaten enthalten wahrscheinlich immer noch die Inkonsistenzen
Verschachtelte, komplexe Abfragen in Access sind für ungeschulte Mitarbeiter schwer zu bewerkstelligen
Und, sobald Formulare oder Berichte entwickelt werden müssen, kommt man um eine intensivere Einarbeitung in Access nicht herum

Lösungswege
Wie löst man dieses Problem? Man könnte ein Microsoft Access-Programm mit entsprechenden Funktionalitäten entwickeln (lassen), es per Runtime verteilen oder an den entsprechenden Arbeitsplätzen Access installieren. Letzteres beinhaltet dann natürlich auch nicht zu unterschätzende Lizenzkosten.
Warum aber nicht das nutzen, was schon so gut wie an allen Arbeitsplätzen vorhanden ist, nämlich Microsoft Excel. Fast jeder hat es schon mal gesehen, geöffnet oder genutzt. Excel verfügt über eine leistungsfähige Engine für Formeln, Diagramme und Tabellen. Das Rad muss also nicht noch mal durch eine aufwändige Neuprogrammierung neu erfunden werden.

MS Excel Limitierungen
Die Standardfunktionen von Excel ermöglichen zwar eine Anbindung von externen Daten, optimal ist diese Funktionalität jedoch leider nicht. Die Verwendung einer Vielzahl von komplexen Formeln in einer Arbeitsmappe kann schnell zu einer Geduldsprobe beim Anwender führen. Eine Steuerungslogik für Formulare, wie zum Beispiel zur Validierung von Eingaben, und das Filtern nach untereinander abhängigen Kriterien fehlen ebenso wie ein zuverlässiges paralleles Arbeiten an Tabellen mit mehreren Usern. Zum Wunschprogramm würden auch dynamische Diagramme zählen sowie das Synchronisieren von Daten, also das Zurückschreiben von Daten dahin, wo sie herkamen. Daten hierarchisch zu filtern, nach der Art: „Nehme eine Tabelle, finde X Werte, suche Verknüpfungen zu diesen Werten in einer anderen Tabelle und filtern aus diesen wiederum weitere Daten heraus.“, wären des Excel-Anwenders Traum.

MS Excel mit VBA erweitern
Geht nicht? Gibt's nicht! Das Zauberwort heißt VBA – Visual Basic for Applications. VBA wird oft mit 'Makros' gleichgesetzt, was zwar stimmt, es aber nicht ganz trifft,
da VBA eine vollwertige Programmiersprache ist, dessen Potential oft verkannt wird. Im Grunde genommen ist VBA ein Visual Basic-Derivat mit der gleichen Syntax, halt nur innerhalb der Host-Anwendung lauffähig.
VBA kennt eigene Formulare bzw. Dialoge und hat insofern die passende Steuerungslogik. Es lassen sich Microsoft Office-Produkte oder andere ActiveX-Komponenten per Verweis innerhalb von Excel-VBA-Anwendungen – z.B. die DAO- und ADO-Bibliotheken oder der Adobe Acrobat Distiller PDF-Generator – nutzen. Es können sogar beliebige Windows API-Funktionen per Import aufgerufen werden; dies ist sinnvoll, wenn Sie zum Beispiel einmal den Standarddialog zur Verzeichnisauswahl benötigen oder die Netzwerklaufwerke ermitteln möchten. Jedes Microsoft Produkt aus der Office Suite besitzt übrigens sein eigenes VBA-Objektmodell, über welches die entsprechenden Funktionalitäten des Produkts angesprochen werden können. So können Sie Kontakte aus Outlook abfragen oder auch aus Excel heraus Word steuern. Microsoft bietet also in dieser Hinsicht leistungsfähige und integrative Tools zur Entwicklung an.

Wie sieht die Lösung für den Kunden aus?
Nun zurück zu unserem Kunden. Eine Excel-VBA-Lösung würde ergonomische Dialoge implementieren, die das Suchen, Sortieren und Verknüpfen in beliebiger Verschachtelungstiefe der Rohdaten ermöglichen. Ein intelligenter Algorithmus würde einen Großteil der Inkonsistenzen bereinigen. Weitere Funktionen transferieren auf Knopfdruck die aktuellen Daten in Berichte im Firmendesign. Die Daten werden natürlich in einer im Netzwerk abgelegten Access-Datenbank verwaltet, so dass z. B. Geschäftsführer, Controller, Fertigungsleiter oder Facharbeiter Zugriff auf denselben Datenbestand haben. Und damit das Ganze auch einfach pflegbar und wartbar ist, erstellen wir nicht eine Riesenmappe, die alle Funktionen beinhaltet, sondern kleine, andockbare Module, die spezifische Aufgaben übernehmen. Professionell wird das Programm durch ein eigenes Hauptmenü in Excel, so dass der User während er mit Excel arbeitet, die Anwendung immer griffbereit hat. Benutzergruppengesteuerte Funktionen oder in XML-Dateien abgelegte Ressourcen sind nützliche Extras der Anwendung. Das Ziel ist erreicht: der Kunde ist zufrieden.

Office 2007 und VBA
Bei so viel Licht gibt es natürlich auch einige Schattenseiten. VBA ist eine Interpretersprache, insofern ist die Ausführungsgeschwindigkeit nicht die allerschnellste. Auch ist der Zwang an eine Lokalinstallation von Mappen mit Makros nicht aufzuheben. Mit dem neuen Visual Studio .Net von Microsoft sehen einige Zeitgenossen VBA schon auf dem Sterbebett. Natürlich hat VBA schon einen, nennen wir es jetzt mal "Nachfolger", und zwar VSTO (Visual Studio Tools for Office). Dieses ermöglicht eine An- und Verbindung per Visual Studio und VB .Net bzw. C#.
Nachteil des VSTO Studios ist jedoch, dass diese in älteren Office Versionen nicht ohne Zusatzinstallationen funktionieren. Zudem möchte und darf nicht jeder Mitarbeiter an seinem Rechner Software installieren. Bis sich Office 2007 in den Unternehmen etabliert haben wird, wird sicherlich noch einige Zeit ins Land gehen. VBA ist übrigens auch in Office 2007 vollständig lauffähig. Eine Umwandlung von
VBA nach z.B. VB .Net kann mit Anpassungen durchgeführt werden.

Wie wird man Excel-Zauberer?
Per Zufall! Während des Studiums der Elektrotechnik und Informatik fand ich zunächst mit C++ zum objektorientierten Programmieren. Soweit ist das nichts ungewöhnliches, das machen schließlich viele Studenten dieser Fachrichtung.
Im Laufe eines Fachpraktikums vor 15 Jahren in einem Maschinenbauunternehmen hatte ich die Aufgabe, komplexe Auswertungen in Excel (damals noch Version 5.0)
zu erstellen.
Um jedoch das Erstellen der Auswertungen möglichst zu automatisieren (speziell zum Import von Daten aus SAP R/2-Exportdateien, Sortieren und Filtern von Daten sowie Anstoßen von Berechnungen) erwies sich VBA als geeignete Wahl.
So entstand meine erste Anwendung mit eigenem Interface. Damit war für mich auch der Startschuss als 'Office VBA Entwickler' gefallen. Später habe ich mich als Berater und Schulungsreferent in einer Aachener Unternehmensberatung auf Microsoft Excel-, einem Schlenker zu Microsoft Access, Anwendungen spezialisiert. Es entstanden mehrere größere Anwendungen, die bis heute im Einsatz sind und weiterentwickelt werden.

Seit Ende 2005 bin ich selbstständig tätig. Mein Schwerpunkt? Logisch, Excel Anwendungen, die in Unternehmen der Bereiche Maschinenbau, Landmaschinen- herstellung, Unternehmensberatung sowie Finanzdienstleistung erfolgreich im Einsatz sind.

Excel Sharp ist eine modular aufgebaute Suite von Excel Addins, welche Auswertungen und weitere Tools zur Betriebsdatenerfassung, Produktionsplanung, Entgeltsystemen, Vertriebsmanagement oder Projektplanung implementieren.
» Resoom, das Portal für IT-Projekte
» Resoom Magazin, das Magazin für IT-Freiberufler