Seit der 1. Stunde habe ich mich mit der Programmiersprache Visual Basic für Excel beschäftigt und über die Jahre eine Vielzahl von Excel Anwendungen im Kundenauftrag entwickelt. Denn parallel zu meiner Beschäftigung mit Visual Basic als eigenständiger Programmiersprache interessierte mich auch die Integration der Programmiersprache VB in die 1994 von Microsoft eingeführte Version 5.0 des Kalkulationsprogramm Excel. Mit dieser Version wurde die alte Makrosprache abgelöst durch die Integration der Programmiersprache Visual Basic, die seitdem als Visual Basic for Applications bezeichnet wird und aus meiner Sicht zum Erfolg von Excel einen nicht zu unterschätzenden Beitrag geleistet hat.
Ganz besonders möchte ich herausstellen, dass Excel durch seine integrierte Programmiersprache in seinen Möglichkeiten stets erweitert werden kann. In der Folge habe ich mit drei Beispielen aus den letzten 5 Jahren versucht das Spektrum anzudeuten. Im ersten Beispiel geht es um eine Anwendung, die sich nur der Excel Fähigkeiten bedient, während in den beiden anderen Fällen die beschränkten Datenbankfunktionalitäten Excels durch Anbindung an MS-Access und den MS SQL Server erweitert werden.
Die Spannweite dessen, was mit Microsoft Excel und Excel Makros seit seiner Markteinführung schon Alles realisiert wurde, lässt sich gar nicht ermessen. Bereits nur die Tabellenkalkulation, ohne jeden Einsatz einer Excel Programmierung, bietet schier endlose Möglichkeiten, die tägliche Arbeit zu vereinfachen. Sie setzt der Phantasie über ihre möglichen Einsatzgebiete kaum Grenzen.
Mit diesen Eigenschaften hat Excel unsere Arbeitswelt in hohem Maß durchdrungen und ist, mit allen Vor- und Nachteilen, zur Allzweckwaffe in Unternehmen geworden. Wenn dann über die Möglichkeiten der Tabellenkalkulation hinaus Programmierungen gefordert sind, so ist es für viele Menschen, die Excel einsetzen und schätzen gelernt haben, ganz selbstverständlich auch im Rahmen einer Anwendungsentwicklung nicht auf die gewohnte Umgebung zu verzichten.
Und mit Excel VBA hat Microsoft seinen Office Produkten eine leistungsfähige Programmiersprache mit auf den Weg gegeben, die es erlaubt, wiederkehrende Abläufe zu automatisieren und so Excel und Excel Makros noch effizienter einzusetzen.
Die Abbildung zur Rechten zeigt eine solche Excel VBA Programmierung. Die Abteilung HR eines großen Mittelständlers mit mehr als 3000 Mitarbeitern erzeugt mit dieser Anwendung Exceldateien, die die Vereinbarung über die variable Vergütung zwischen Mitarbeitern und Vorgesetzten aufnehmen und die vereinbarten Zielvereinbarungen dokumentieren. Die ausgefüllten Exceldateien werden als Rückläufer wieder in das Tool eingespeist und für nachfolgende Softwaresysteme gespeichert.
Excel VBA Anwendung - Zielvereinbarungsdateien erzeugen
Alle benötigten Mitarbeiterinformationen sind in verschiedenen Tabellen des Tools abgelegt. Die Zielvereinbarungsdateien werden in den angegebenen Verzeichnissen gespeichert.
Excel VBA und Access Programmierung - Change Management Frontend
Verwaltung von Änderungsaufträgen mit Access Datenbank und Excel VBA Programmierung
Aber eine Excel Makroprogrammierung dient nicht nur der Automatisierung, sondern gestattet es auch, die vorhandenen Grenzen von Excel zu überschreiten und weitere Einsatzgebiete zu erschliessen.
Einschlägiges Beispiel ist die Haltung, Auswertung und Bearbeitung von Daten. Da sind die Möglichkeiten von Excel begrenzt. Wenn es um mehr geht als die Sortierung, Filterung von Listen, sind die Fähigkeiten einer Datenbank gefragt. In Fall der vorgestellten Anwendung ist dies Microsoft Access.
Jedes Visual Basic Programm kann über Software Bibliotheken wie ADO (Active Data Objects) bzw. DAO (Data Access Objects) auf die verschiedensten Datenbanksysteme zugreifen. DAO und ADO werden von Microsoft mit der Office Installation zur Verfügung gestellt und erlauben eine komfortable Datenbankanbindung.
Datenbankmanagementsysteme wie MySQL, Access oder der Microsoft SQL Server, ebenso eine Oracle Datenbank können angesprochen und zur Kooperation bewegt werden. Alle Funktionalitäten, die Excel nicht oder nur unzureichend anbietet, werden ausgelagert und die Ergebnisse in Exceltabellen angezeigt bzw. zur weiteren Verarbeitung zur Verfügung gestellt. Ganz wie es der jeweilige Einsatzzweck erfordert.
Zur Linken sehen Sie eine Change Management Anwendung, die Änderungen (sog. Change Requests) in Projekten verwalten hilft. In einer Access Datenbank werden Projekte, deren Change Orders und die jeweiligen Status gespeichert. Das Excel Frontend erlaubt die Verwaltung der Projekte und ihrer Change Requests.
Die umfangreichen Regenfälle der Jahre 2016 und 2017 mit ihren verheerenden Überschwemmungen im Raum Oberschwaben machen es notwendig, die Intensität lokaler Regenereignisse genauer in den Blick zu nehmen. Zwar liefern bisher verwendete Regenmodelle auf Basis synthetischer Regendaten übers Jahr hinweg betrachtet korrekte Abschätzungen, aber lokale Regenereignisse und deren Regenmengen können nur unzureichend prognostiziert werden.
Deshalb hat sich ein Ingenieurbüro aus Biberach, die Fa. WASSER-MÜLLER Ingenieurbüro GmbH ein Verfahren ausgedacht, genau diese lokalen Regenereignisse und die damit einhergehenden Niederschlagsmengen genauer erfassen zu können. So kann das Ingenieurbüro eines seiner unternehmerischen Tätigkeiten als Sanierungsberater für die Abwasser Kanalisation gegenüber den Gemeinden wesentlich genauer mit Zahlen untermauern.
Regenmengen werden mit Hilfe stationärer Regenmessgeräte erfasst, von denen eine Vielzahl im oberschwäbischen Raum bis hinunter zum Bodensee installiert wurden und Ihre Messwerte in konstanten Zeitintervallen funktechnisch weiterleiten. Diese Messwerte werden mit Hilfe des zur Rechten angedeuteten Excel Frontends in einer SQL Server Datenbank gespeichert. In analoger Weise wird mit Abflussmengen verfahren. Hierzu hat man einige mobile Abflussmessgeräte angeschafft, die an geeigneten Stellen in der Kanalisation montiert werden und ebenfalls kontinierlich in konstanten Intervallen Informationen über die Durchflussmenge und den Wasserstand in der Kanalisation zur Verfügung stellen.
Ein wesentlicher Bestandteil des Tools sind seine Auswertungswerkzeuge. Über frei definierbare Zeiträume können nun Diagramme zu Regenmengen verschiedener Regenmessstationen und dazugehöriger Abflussmengen erstellt werden.
Auswertungs Tool für Starkregenfälle / Abflussmengen mit Excel Makros und SQL Server
Regen- und Abflussmengen werden in einer SQL Server Datenbank gespeichert- Zugriff über Active Data Objects und den SQL Server Native Client