Programmierung für MS Excel mit VBA/.NET

Unternehmensführung und –verwaltung bedeutet im Wesentlichen, eine nahezu unüberschaubar große Menge an mehr oder weniger gut strukturierten Daten zu sammeln, zu beurteilen und schließlich auszuwerten, um mit den gewonnenen Ergebnissen Entscheidungen zu treffen sowie Analysen über das betriebliche Geschehen durchzuführen. Immer noch arbeiten viele mittelständische Unternehmen oder Abteilungen größerer Unternehmen ausschließlich mit Standard-Office-Softwareprodukten, um diese Aufgaben zu bewältigen. Eine lange Zeit können solche Produkte wie MS Access und MS Excel auch durchaus mit der unternehmerischen Entwicklung mithalten und den gestiegenen Anforderungen an Auswertung, Reporting und Unterstützung auch begegnen. Doch vor dem Hintergrund von wachsenden Umsatzzahlen, komplexer werdenden Unternehmensstrukturen und veränderten technischen, gesetzlichen und wirtschaftlichen Rahmenbedingungen kann man nicht mehr erwarten, dass solche Standardanwendungen trotz VBA-Erweiterung noch die optimale Lösung darstellen.

logo excelMS Excel kann immer damit überzeugen, dass die Lizenzkosten aufgrund des Verbunds mit anderen Büroanwendungen um ein Vielfaches günstiger sind als bspw. eine umfangreiche Unternehmenssoftware wie MS Dynamics, MS Project oder natürliche eine vollständig individuelle Software. Daher versucht man, über eine möglichst lange Zeit, MS Excel immer weiter in Bereiche zu führen, für die dieses Tabellenkalkulationsprogramm ursprünglich nicht konzipiert war. Vielen Mitarbeitern im Bereich der Unternehmenssteuerung wird dabei nicht klar, dass sie für die Auswahl eines anderen Standard-Programms oder die Entwicklung einer Individualsoftware bereits eine hervorragende Basis in Form ihrer MS Excel-Anwendung haben, da diese einen umfangreichen Prototyp darstellt. Auf seiner Basis lässt sich relativ genau ausmachen, welche grundsätzlichen Anforderungen existieren, welche neuen Anforderungen in der letzten Zeit neu hinzugekommen sind, wie sich die Anforderungen in den letzten Jahren verändert haben und welche neuen Funktionalitäten noch zu erwarten sind oder vorweggenommen werden können. Solche Software-Projekte weisen regelmäßig ein überaus geringes Durchführungsrisiko und eine hohe Treue zu den geschätzten Kosten auf, weil viele Tätigkeiten, die normalerweise in der Planungs- und Analysephase anfallen, unmittelbar mit der bestehenden MS Excel-Software bereits durchgeführt wurden. Wesentlich ist dagegen, sich auf Basis der bestehenden Lösung eine neue Software-Konzeption vorzustellen, welche optimal die gestellten Anforderungen umsetzt.

Auswertungssysteme

Im Bereich des Berichtswesens hat MS Excel trotz einer nahezu unüberschaubaren Anzahl an Produkten in diesem Bereich einen sehr hohen Stellenwert. Mitarbeiter schätzen, dass sie die volle Kontrolle über die Berichte behalten und daher individuelle Sonderberichte spontan selbst erstellen können, Änderungen an bestehenden Berichten alleine vornehmen können und über den gesamten Produktionsprozess von Datenimport bis zur Berichtserstellung eine umfassende Kontrolle ausüben können. Kritisch ist allerdings anzumerken, dass viele sich mit wiederholten Standardaufgaben aufhalten und die Zeit, die in die Entwicklung von neuen Berichtsmodellen, Auswertungsverfahren und schließlich auch der Beurteilung von Ergebnissen und der Ableitung von Handlungsempfehlungen investiert werden könnte, damit verbraucht wird, die Berichte überhaupt zu erzeugen. Vielen ist allerdings nicht bekannt, dass sowohl in MS Excel ein umfangreicher Werkzeugkasten bereit steht, mit dem Standardaufgaben automatisiert werden können oder dass die Vorteile, die in MS Excel aufgrund der individuellen Datenbearbeitung existieren, auch mit solchen Systemen wie den Reporting Services und Analysis Services des MS SQL Servers erhalten bleiben und eher noch ausgebaut werden können. MS Excel kann hier als Ausgabeplattform verwendet werden, die darüber hinaus noch die Möglichkeit bietet, weitere, sehr detaillierte und überaus spezifische weitere Auswertungen durchzuführen, die nicht automatisiert werden sollen.

Einsatz des MS SQL Servers oder MS Access

MS Excel erlaubt zwar auch, Daten relational zu speichern und auch über Standard-Abfragetechniken abzufragen, doch es ist in erster Linie ein Bearbeitungsprogramm von Daten und damit ein Tabellenkalkulationsprogramm. Eine eigene Datenbank dagegen erlaubt es, einen zentralen Datenspeicher zu haben, für den ein eigenes Sicherheitskonzept entwickelt werden kann und den man mit unterschiedlichen Softwaretechniken mit eigener Logik ausstatten kann, die über die Möglichkeiten in MS Excel deutlich hinausgehen.

Ein Berichtssystem mit starkem MS Excel-Bezug, aber ohne direkten Einsatz von MS Excel könnte folgende Gestalt haben:

Datenimport über Integration Services oder eigene Import-Programme

Datenübernahme ist eine selbstverständliche Aufgabe, wenn Berichte und Analysen erzeugt werden sollen. Sie bietet allerdings auch eine große Chance hinsichtlich einer Automatisierung und Konfiguration, die kostengünstiger und mit höherer Qualität als eine manuelle Übertragung eingerichtet werden kann. Über die Integration Services des MS SQL Server bspw. hat man eine umfangreiche auch grafisch orientierte Programmierumgebung, mit der Datenextraktion aus verschiedenen Datenquellen, Bereinigung, Filterung und Anreicherung auf Basis von Regeln und Mustern in sehr komplexer Weise vorgegeben und auch durchgeführt werden kann.

Berichtserstellung, Berichtsmodelle oder Würfel

Je nachdem, welche Anforderungen an Berichte gestellt werden, gibt es eine Reihe von Optionen, die sich in MS Excel mit VBA und .NET auch bieten, aber nicht mit so vielen unterschiedlichen Werkzeugen und nicht mit so komplexen Techniken eingerichtet werden können.

Vorgegebene Berichte: Die Reporting Services erlauben es in ihrer einfachsten Variante, Berichte für Berichtsempfänger mit Tabellen, Listen, Diagrammen und Textausgaben zu erstellen. Diese können interaktiv und mit unterschiedlichen Filtern und Parametern ausgestattet sein, um durch die Daten zu navigieren oder auch von Übersichts- zu Detailberichte springen zu können. Diese Berichte können in diversen Formaten und darunter auch MS Excel ausgegeben werden sowie im Browser oder einer eigenen Anwendung aufgerufen sowie auch automatisch per Email versandt werden. Die weitere Bearbeitung und individuelle Untersuchung der Daten erfolgt dann bspw. mit den herkömmlichen Mitteln in MS Excel oder auch gar nicht.

Berichtsmodelle: Wenn ein Teil der Benutzer nicht nur Standardberichte benötigt, deren Aufbau über längere Zeit gleich bleiben, dann gibt es die Möglichkeit, im MS SQL Server so genannte Berichtsmodelle einzurichten. Hier gibt man nicht die Formatierung, die Parameter oder die Filter vor, sondern definiert vielmehr, wie die verschiedenen zu Grunde liegenden Tabellen so weit verarbeitet werden können, dass eine neue zusammen gefasste und mit Aggregaten angereicherte Datenstruktur entsteht, die für tabellarische, Matrizen- und Pivot-Auswertungen in MS Excel, dem MS SQL Server-Report Builder oder natürlich auch anderen Programmen mit Zugriff zum Berichtsmodell genutzt werden können. Dies ist eine geeignete Lösung, wenn zwar die allgemeine Datenstruktur weitestgehend gleich bleibt, aber die Anforderungen an Kombinationen, Vergleichen, Zuordnungen, Filter und schließlich auch der Formatierung von fortgeschrittenen Berichtsempfängern selbst durchgeführt werden soll.

Würfel: Während die Reporting Services mit dem Berichtsmodell bereits eine interessante Lösung bieten, um auf Basis eines vorab strukturierten und angepassten Datenmodells individuelle Berichte zu erstellen, bieten die Analysis Services mit dem Data Warehouse-Konzept noch weitere Techniken, die solche individuellen Berichte noch komplexer und individueller gestaltbar machen. Hierbei handelt es sich um die Möglichkeit, einen so genannten Würfel zu erstellen, der für die Auswertungen benötigte Daten aus mehreren Datenquellen zusammenfasst, mit Aggregaten versieht und schließlich für die Nutzung in Pivot-Tabellen und Matrizen anbietet. Über die Würfel-Technik ist es möglich, unterschiedlichen Benutzern standardisierte Perspektiven auf die Daten anzubieten, erweiterte Sicherheitskonzepte beim Datenabruf und der Filterung einzurichten, sowie Hierarchien, Dimensionen für die Untersuchung vorzubereiten, die nachher bei der Verwendung des Würfels zum Einsatz kommen.

Allgemeine Vorteile

MS Excel kann weiterhin die Zielumgebung sein, in der Daten ausgegeben oder auch feiner ausgewertet werden, um im vorhandenen Datenbestand entlang von Hierarchien, Dimensionen und fertigen oder weiterverwendbaren Aggregaten individuelle Auswertungen durchzuführen, aber sowohl die eigentlichen Daten, wie auch ihre Beziehungen untereinander sind an einer zentralen Stelle gespeichert. Dies führt dazu, dass eine Reihe von Vorteilen genutzt werden können, die beim reinen Einsatz von MS Excel gar nicht oder wenigstens nicht in diesem Maße möglich waren: Zentrale Datenspeicherung führt zu einer klaren Architektur und der Möglichkeit, reine Datenbearbeitung (Übernahme, Filterung, Reinigung, Anreicherung) nur an einer Stelle zentrale auszuführen.

Erweiterte Sicherheitskonzepte erlauben es, den gesamten Datenbestand oder gruppenindividuell in Teilen zu sichern. Man kann verhindern, dass Benutzer Zugriff auf den gesamten Datenbestand haben. Stattdessen kann man ihnen nur die für ihre Aufgaben notwendigen Daten liefern und dies über Sicherheitskonzepte im Netzwerk, in der Datenbank, in den Reporting/Analysis Services oder auch in der MS Excel-Anwendung einrichten.

Eine verteilte Anwendungsarchitektur bietet den Vorteil, dass man nicht nur ein lokales MS Excel verwenden kann, sondern dass für andere Benutzergruppen Berichte mit MS Excel-Ausgaben auch im Browser angeboten werden können. Mit geeigneten Office-Produkten (MS Word, MS Powerpoint, MS Access) lassen sich die Daten wieder in anderen Zusammenhängen einlesen und anzeigen. Darüber hinaus hat man die Möglichkeit, die Daten, Berichtsmodelle und Würfel in ganz anderen Programmen als MS Excel zu verwenden und ist so für zukünftige Anforderungen besser gerüstet.

Unterstützung durch die Comelio GmbH

Auch wenn MS Excel in seiner Grundform von vielen Mitarbeitern der Comelio-Kunden alleine und selbstständig eingeführt und manchmal auch programmiert wird, so bietet die Einbindung eines externen Partners doch eine Fülle an Vorteilen. Durch die Konzentration auf softwaretechnische Aspekte und die Berücksichtigung von neuen und alternativen Software-Technologien, die sich durch ständig weiter entwickelnde Technik im Bereich der Datenspeicherung, -auswertung und –aufbereitung ergeben, haben Unternehmen die Chance, eine ganz neue Qualität in ihrem Berichtswesen zu erleben, geliebte Vorteile aus der Vergangenheit weiter zu genießen und im Bereich der Datenanalyse, Sicherheit und des Benutzererlebnisses in neue Dimensionen aufzubrechen.

comeliDie Comelio GmbH führt Projekte mit den Themen Neuenwicklung oder Migration in allen Projektphasen durch und bietet selbstverständlich auch nach Fertigstellung an, die Anwendung weiter zu betreuen oder Mitarbeiter des Kundenunternehmens soweit auszubilden dass einfache Änderungen alleine durchgeführt werden können. Die von der Comelio GmbH übernommen Aufgaben liegen darin, den benötigten oder vorhandenen Datenbestand zu analysieren und für das Berichtssystem zu modellieren, eine Software- und Technik-/Sicherheitskonzept auszuarbeiten und im Unternehmen einzuführen, Standard-Berichte, Berichtsmodelle oder Würfel einzurichten, Erweiterungen in MS Excel in VBA/.NET zu programmieren und das gesamte System mit Server, Datenbank und Anwendung auszuliefern.