Andreas Rozek  

VBA für Excel

Zu Beginn der Semesterferien (nach den Prüfungen) hält der Autor an der Hochschule für Technik Stuttgart üblicherweise den Kurs "VBA für Excel" (mit Übungen).

Unter der Voraussetzung, daß die Teilnehmer sowohl mit Excel umgehen als auch in Java programmieren können, führt dieser Kurs binnen einer Woche zum einen in "Visual Basic for Applications" (VBA) ein, vor allem aber zeigt er, wie man Excel von VBA heraus steuern und auf die Bestandteile von Excel-Dokumenten zugreifen kann.

Eine Reihe von (aufeinander aufbauenden) Übungen vertieft die in der Vorlesung erworbenen Kenntnisse und zeigt (Studenten wie Vortragendem) etwaige Verständnislücken auf.

Wie beim Autor üblich, werden dabei alle Übungsaufgaben nach einer Weile von Autor selbst live(!) und vor den Augen der Kursteilnehmer gelöst: da ein Programm selten von oben nach unten erstellt wird, bekommen die Studenten auf diese Weise sofort einen Eindruck davon, wie bei der Programmierung am besten vorgegangen wird. Und da auch ein Dozent Fehler macht, erfahren die Teilnehmer sogleich, wie man innerhalb der Excel-Programmierumgebung Fehler sucht und beseitigt...

Noch ein Hinweis: auch wenn sich der Kurs zunächst einmal an Excel-Benutzer richtet (und auch die Übungen nur unter Excel getestet wurden), sollten Benutzer der OpenOffice-Produkte (ab Version 3.0) inzwischen ebenfalls davon profitieren können - erste Tests haben gezeigt, daß die meisten der für Excel geschriebenen Makros auch unter OpenOffice funktionieren müßten!

Kursübersicht

Am ersten Tag wird (nach den üblichen organisatorischen Vorbemerkungen) "im Schnellverfahren" in die Programmiersprache "Visual Basic for Applications" (VBA) eingeführt. Vergleiche zu Java sollen den Einstieg vereinfachen, trotzdem ist dieser Teil, der sich mit Syntax und Semantik von VBA befaßt, vergleichsweise mühsam - zumal auch die Übungen anfangs eher trocken anmuten. Hier ist Durchhaltevermögen angesagt - glücklicherweise werden die folgenden Tage aber zunehmend spannender!

Am zweiten Tag wird das Excel-Objektmodell erläutert. "Objektmodelle" sind heutzutage allgegenwärtig - außerdem wird sich, wer das Excel-Objektmodell verstanden hat, auch in den restlichen Office-Programmen problemlos zurechtfinden. Mithilfe der in Excel eingebauten Programmierumgebung kostet das Durchforsten des Objektmodelles ohnehin kaum Mühe. Und am Ende des Tages werden Sie mit den ersten optisch ansprechenden Übungen für Ihr Durchhaltevermögen belohnt: das "Highlight" ist ein Jahreskalender mit einer Anzeige für Feiertage und persönliche Termine.

Der dritte Tag steht im Zeichen der "Ereignis-gesteuerten Programmierung": Sie lernen, wie man (Formular- und Active-X-)Steuerelemente auf einem Tabellenblatt plaziert und auf Benutzereingaben reagiert. Der Vortrag ist (leider) wieder mit Unmengen an Informationen vollgespickt, glücklicherweise sind die Steuerelemente jedoch sehr systematisch aufgebaut: wer das Grundprinzip einmal begriffen hat, kommt mit anderen Steuerelementen schnell zurecht. Am Ende des Tages werden Sie Ihre ersten Eingabeelemente programmieren, das "Highlight" der Übungen ist jedoch "Vanity rückwärts": lassen Sie sich von Excel anzeigen, welche Zifferntasten Sie drücken müssen, um auf Ihrem Handy eine SMS mit einem vorgegebenen Text zu erzeugen.

Am vierten Tag lernen Sie, wie man komplette Eingabeformulare anlegt und ausliest - wenn Sie vom Vortag her noch wissen, wie man mit Steuerelementen umgeht, sollte der heutige Tag keine sonderlichen Schwierigkeiten bereiten. Darüber hinaus gibt der Autor ein paar praktische Tips zur Erstellung nicht-trivialer Programme - angesichts der Kürze der Zeit wird dabei jedoch zwangsläufig nur die Oberfläche der Thematik angekratzt. Am Ende des Tages können Sie Ihr erworbenes Wissen einsetzen, indem Sie ein "Zahlen-Memory" programmieren: bereiten Sie ein neues Spiel vor und verfolgen Sie die Aktionen des Benutzers bis zu dessen Erfolg oder Aufgabe...

Der fünfte und letzte Tag macht Sie mit weiterführenden Themen wie z.B. dem Einsatz externer Objekte, dem Zugriff auf Dateisysteme und Dateien, dem Versand von EMail-Nachrichten oder dem Einsatz von Web-Abfragen vertraut. Die Übungen halten außerdem noch ein besonderes "Schmankerl" für Sie bereit: erstellen Sie ein Programm zur (Generierung und) Lösung von Sudoku-Rätseln!

Begleitmaterial zum Kurs

Folgendes Material steht Ihnen zum Herunterladen zur Verfügung:
 VBA_for_Excel_I.ppt Vortragsfolien vom 22.02.2010 (Microsoft PowerPoint)
 VBA_for_Excel_II.ppt Vortragsfolien vom 23.02.2010 (Microsoft PowerPoint)
 VBA_for_Excel_III.ppt Vortragsfolien vom 24.02.2010 (Microsoft PowerPoint)
 VBA_for_Excel_IV.ppt Vortragsfolien vom 25.02.2010 (Microsoft PowerPoint)
 VBA_for_Excel_V.ppt Vortragsfolien vom 26.02.2010 (Microsoft PowerPoint)
 
 Exercises.xls Excel-Tabelle mit allen Übungen

Literaturhinweise

[1]
Christian Friedrich
Einstieg in VBA mit Excel
Galileo Press, Bonn 2006, ISBN 3-89842-647-5

Dieses Buch ist so etwas wie "das offizielle Begleitbuch" zu dem Kurs, da es ebenfalls kaum Vorwissen voraussetzt und Schritt für Schritt in VBA einführt.

[2]
Monika Weber, Michael Schwimmer
Microsoft Excel 2007-Programmierung, Das Handbuch
Microsoft Press Deutschland, Unterschleißheim 2008, ISBN 978-3-86645-413-2

Wer es gern "schwergewichtig" mag, liegt mit diesem Buch richtig: auf über 1000 Seiten wird von Grund auf und Schritt für Schritt in die Excel-Programmierung mit VBA eingeführt - dabei werden auch weiterführende Themen wie (vom Betriebssystem bereitgestellte) API-Funktionen sowie die Kommunikation mit anderen Anwendungen, externen Datenbanken sowie über das Internet erreichbaren Rechnern nicht ausgespart.


http://www.Rozek.de/VBA_for_Excel/index_de.html Stand: 26.02.2010