Jurawelt

Artikel 7218
Stefan Zeidler, MCP & MMI

Mehr als nur Tabellen malen

Eine Rezension zu:

Kofler, Michael

Excel programmieren

Anwendungen erstellen mit Visual Basic für Applikationen

Addison-Wesley, München 2002, 846 S., 49,95 € [D]
ISBN 3-8273-2021-6

http://www.addison-wesley.de


Wer mehr mit Excel von Microsoft erreichen will und nicht nur Tabellen "malen", sondern Excel für komplexe Aufgaben heranziehen möchte, muss den Blick unter die Motorhaube wagen. Dort schlummert ein Tuning-Werkzeug mit Namen Visual Basic für Applikationen (VBA). Wer sich damit beschäftigt, ist einen Schritt näher an dem "Excel", welches sie oder er sich schon immer gewünscht hat.

Das Buch beschreibt die Möglichkeiten in Excel mit herkömmlichen Makros oder mit der eingebauten Programmiersprache VBA zu arbeiten. Ziel ist es, eigene Tabellenfunktionen zu erstellen, Excel nach den eigenen Bedürfnissen anzupassen, sich wiederholende Aufgaben automatisieren, "intelligente" Formulare zu entwerfen und sogar eigenständige Programme auf der Basis von Excel zu programmieren.

Wenn in dem Buch von "Programmieren" die Rede ist, sollte das Anwender nicht abschrecken: man muss kein Programmier-Freak sein, um die vielen Beispiele nachzuvollziehen. Es reicht eine gesunde Neugierde, um die einzelnen Schritte der Erklärungen auszuführen. Dennoch sind gute Excel-Kenntnisse schon erforderlich. Der Anwender sollte im Gebrauch von Funktionen sicher sein. Auf Grundlagen zu Excel wird nicht eingegangen.

Das wird schon deutlich im 1. Kapitel. Es beginnt sofort mit der Erstellung von Makros. Hierzu werden zunächst die verschiedenen Möglichkeiten der Automation erläutert. Der erste Kontakt mit VBA wird hergestellt. Anhand von sieben ausführlichen Beispielen erfährt der Leser, wie man beispielsweise die Auswahl von Formatvorlagen an ein Symbol knüpft, wie man eine einfache Literaturdatenbank erstellt oder wie man einen Vokabeltrainer programmiert. Und es wird gerechnet: Ein Beispiel erläutert die Berechnung der Verzinsung von Spareinlagen. Bei dieser Gelegenheit werden schon viele eingebaute Funktionen verwendet, die der Leser kennen sollte. In einem sehr praktischen Beispiel werden komplexe Tabellen analysiert. Dies ist die Lösung zu einem Problem, vor dem sicher jeder Excel-Anwender schon mal stand: Darf ich in eine Zelle einen Wert schreiben oder wird damit eine Formel überschrieben, an der Kollege X zwei Tage gearbeitet hat? Im Zweifel trifft meist der letzte Fall zu und wehe dem, der die Nachfolge von Kollege X angetreten hat. Im Buch wird dazu ein Makro vorgestellt, welches automatisch alle berechneten Felder besonders hervorhebt.

In Kapitel 2 drängt sich die Theorie wieder nach vorn. Es wird ein Überblick über die Neuerungen von Excel 2000 und 2002 gegenüber den Vorgängerversionen gegeben. Hier geht es um Grundlagen, die vor allem für die Leser wichtig sind, die sich bereits in den alten Versionen schon mit der Programmierung mit VBA beschäftigt haben. Wer neu einsteigt, erfährt hier "vor die Klammer gezogene" Informationen. Wichtig sind hier die Beschreibungen der geänderten Objekte, Eigenschaften und Methoden, ohne deren Wissen man später bei der Programmierung nicht weiter kommt.

Wieder praktischer wird es im 3. Kapitel. Der Leser lernt hier die Entwicklungsumgebung kennen, also quasi die Werkstatt. Das ist nötig, weil VBA-Projekte nur in dieser eigenen Umgebung geschrieben werden und diese unterscheidet sich von dem, was man bisher als "Excel" kannte enorm. Leicht haben es die Lesen mit Programmiererfahrung; ihnen wird die Entwicklungsumgebung aus anderen Office-Produkten oder aus dem Visual Studio bekannt vorkommen. Ferner werden hier eingehender die Aufzeichnung, das Unterbrechen und Abspielen von Makros beschrieben.

Zurück zur Theorie. Kapitel 4 ist ein wichtiges, wenngleich aber wenig praktisches Kapitel. Der geübte Programmierer kann es überspringen, der Einsteiger wird sich einarbeiten müssen. Es geht hier um die Grundlagen der Sprache "Visual Basic für Applikationen". VBA ist eine abgespeckte Version der Programmiersprache Visual Basic und ist speziell auf die Office-Produkte zugeschnitten. Die Sprache enthält aber alle Elemente einer echten Programmiersprache, wie Variablen, Felder, Objekte und Operatoren, die erst einmal gelernt sein wollen.

Zentrales Kapitel ist sicher das Kapitel 5. Unter der Überschrift "Programmiertechniken" verbirgt sich das, der Lesen unbedingt wissen muss. Es geht um die Interaktion zwischen den eigenen "VBA-Programmen" mit den Excel Arbeitsmappen, Tabellenblättern und Zellen. Im Prinzip wird gezeigt, wie man Excel-Tabellenblätter als Ausgabemedium für VBA nutzt. Und der umgekehrte Weg natürlich gleich dazu: wie man den Inhalt von Zellen oder ganzen Zellbereichen ausliest, in die ein Benutzer etwas geschrieben hat, wird anhand von Beispielen erklärt. Nebenbei behandeln diese Bespiele wichtige Kalkulationsprobleme. Man erfährt, wie man mit Datum und Uhrzeit rechnet und was man zum Thema Euro zu beachten hat.

Der Fehlersuche und Fehlerabsicherung ist Kapitel 6 gewidmet. Die Fehlersuche ist schon nicht trivial. In diesem Kapitel werden Mechanismen vorgestellt, wie die Schritt-für-Schritt Ausführung von Programmen, das Setzen von Haltepunkten oder das Überwachen von Variableninhalten. Des weiteren werden Möglichkeiten vorgestellt, wie man sich vor Fehlern schützen kann. Fehler passieren nicht nur beim Programmieren. Gerade der Benutzer eines "intelligenten Formulars" ist einer der größten Fehlerproduzenten. Nur wenn dann der Programmierer seine eigene Intelligenz in sein Programm steckt, kann es Sicher vor Bedienungsfehlern sein. Daher ist das Fehlertolerante Verhalten von Programmen hier genauer beschrieben.

Wem die Eingabe von Daten in Tabellenblättern auf Dauer zu langweilig ist, dem sei Kapitel 7 ans Herz gelegt. Man erfährt, wie man die Dialog der MS-Forms-Bibliothek einsetzen kann, um dem Bediener durch eigenständige Fenster die Eingabe von Daten zu erleichtern. Die Arbeit mit dem Dialog-Editor erleichtert das Erstellen eigener Dialog. Sämtliche Steuerelemente von MS-Forms werden beschrieben. Hervorzuheben ist die ausführliche Erklärung grundsätzlicher Dialoge. Wer beispielsweise ein Dialogfeld zur Eingabe eines Zahlenbereichs entwerfen und statt eines Eingabefeldes einen Rollbalken benutzen möchte, mit dem der Bediener per Maus die Zahl manipulieren kann, lernt genau dies anhand eines Beispiels. Auch ein Beispiel für dynamische Dialog ist vorhanden.

Kapitel 8 beschäftigt sich mit der individuellen Anpassung der Excel-Umgebung. Wer gern eigene Menüleisten oder Symbolleisten erstellen möchte, findet hier viele Anregungen. Das Thema ist sehr wertvoll für die Leser, die Formulare entwerfen, welche von weniger geübten Anwendern benutzt werden. Denen kann man die Arbeit schon dadurch erleichtern, dass man kaum gebrauchte Menüs und Symbole entfernt und durch solche ersetzt, die täglich benutzt werden.

Ab Kapitel 9 beginnt ein vertiefender Teil. In diesem Kapitel zum Thema "intelligente Formulare" wird praktisch ein größeres Projekt entwickelt. Zunächst geht es um die Grundlagen. Was muss ein Formular alles mitbringen? Von der Gestaltung über den Zellschutz und bedingte Formatierungen bis hin zu Voreinstellungen für das Drucken wird alles erläutert. In zwei Beispielen erfolgt die Umsetzung Schritt-für-Schritt, einmal als "Rechnungsformular" und dann als komplexes Abrechnungssystem für ein Car-Sharing-Verein.

Im Mittelpunkt von Kapitel 10 stehen Diagramme und Zeichnungsobjekte. Die großartige Möglichkeit Daten grafisch darzustellen, sollte auch bei der Automatisierung nicht vergessen werden. Nachdem die Grundlagen über Diagramme am Anfang dieses Kapitel geklärt werden, folgt die Umsetzung automatisch erstellter Grafiken. Daran anschließend wird in einem umfangreichen Beispiel die Auswertung einer Datenprotokollierung gezeigt. Und zur Belohnung und Entspannung zeigt das Ende des Kapitels, wie man seine Tabellen oder Diagramme mit Zeichnungsobjekten, wie beispielsweise kleinen Bildern, verschönern kann.

Die Kapitel 11 bis 13 gehen sehr detailliert auf das Thema Datenverwaltung/Datenbanken ein. In Kapitel 11 stehen die Grundlagen an. Für kleine Datenmengen kann Excel durchaus als "Datenbank-Programm" verwendet werden. Wie das funktioniert und welche Besonderheiten dabei zu beachten sind, wird erklärt. Wenn jedoch die Datenmengen wachsen, sollte man sie einem erwachsenen Datenbanksystem (wie zum Beispiel Access aus der Office-Reihe) anvertrauen. Doch selbst dann muss man nicht auf die vielen Analysefunktionen von Excel verzichten. Zentrales Thema in Kapitel 12 ist daher der Zugriff auf diese Daten. Gerade für Leser, die sehr häufig Daten von anderen Programmen erfassen und die analysieren müssen, ist die Frage der Automation eines solchen Vorgangs sehr hilfreich. Um die Analyse noch effektiver zu machen, lohnt sich ein Blick in Kapitel 13. Dort geht es hauptsächlich um Pivot-Tabellen und wie man mit deren Möglichkeiten Daten strukturiert darstellt.

Wer fortgeschrittenere Techniken zur Programmierung mit VBA kennen lernen möchte, wird schließlich noch Kapitel 14 bearbeiten. Es richtet sich ausdrücklich an erfahrene Programmierer. Diese erhalten dort Einblick in die Techniken der Erstellung eigener Add-Ins, den Zugriff auf Smart-Tags und die noch in den Kinderschuhen steckende Technik der Web-Services.

Im letzten Kapitel 15 ist zum Nachschlagen eine sehr ausführliche Objektreferenz aufgeführt. Sie versteht sich allerdings nur als Ergänzung zur eingebauten Hilfe unter Excel; der Umfang der kompletten Referenz würde den Rahmen des Buches bei weitem sprengen. Dargestellt werden ca. 200 ausgesuchte Objekte, die erfahrungsgemäß häufiger vorkommen. Dargestellt werden die einzelnen Methoden und Eigenschaften, aber auch wichtige Querverbindungen zu verwandten Objekten. Nicht zu vergessen ist die CD-ROM des Buches. Auf ihr befinden sich alle Beispieldateien. Da viele der Beispiele, insbesondere die größeren Projekte, sehr umfangreichen Quellcode benötigen, spart man sich mit der CD-ROM einiges an Tipparbeit.

Gesamteindruck:
Das Buch ist durchweg ein Buch für den Praktiker. Einsteiger in diesem Bereich sollten aber vorsichtig sein. Das Buch richtet sich vornehmlich an Programmierer und Softwareentwickler. Zwar bieten einige Grundlagen insbesondere zur Programmiersprache VBA einen guten Einstieg in die Arbeit mit dieser Sprache, aber es darf nicht vergessen werden, dass es hauptsächlich um die Programmierung für Excel geht.
Aber wer genau dafür eine Anleitung sucht, der hat mit diesem Buch einen Treffer gelandet. Der Autor beschreibt in einfach zu verstehender Sprache Schritt-für-Schritt den Weg zum eigenen Programm. Dabei ist der Weg nicht eingeengt: Die vielen unterschiedlichen Beispiele lassen Raum für eigene Entwicklungen. Dem Leser fällt es leicht, vom vorgegebenen Beispiel das Gelernte zu übertragen und schon nach kurzer Zeit hat man eigene "intelligente Formulare" gebastelt. Man lernt Excel auf eine völlig neue Weise kennen, indem man entdeckt, wie viel "mehr" als nur Listen in dem Produkt steckt.
Wer dann schon selbständiger eigene Projekte beginnt, für den wird die Objektreferenz am Ende des Buches immer wichtiger. Das eine oder andere Objekt hätte zwar etwas ausführlicher besprochen werden könne, aber meist findet sich weiter vorn im Buch ein passendes Beispiel. Und schon kann die Arbeit weitergehen.
BGH: Keine Gerätevergütung für Computer
"Strafrechtliche Bewertung vom Phishing und Pharming Angriffen" von David Schneider
Prag, Deutsch-Tschechische Industrie- und Handelskammer
Nachrichten zum Internetrecht





Copyright © 2000-2008 Jurawelt