Was ist VBA? 1 - · PDF fileExcel werden VBA-Prozeduren häufig als Makros bezeichnet,...

download Was ist VBA? 1 - · PDF fileExcel werden VBA-Prozeduren häufig als Makros bezeichnet, deswegen verwende ich diese Terminologie. Aber ich bezeichne das Ganze auch als ein Programm

If you can't read please download the document

Transcript of Was ist VBA? 1 - · PDF fileExcel werden VBA-Prozeduren häufig als Makros bezeichnet,...

  • 1Was ist VBA?In diesem KapitelEinen allgemeinen berblick ber VBA gewinnenHerausfinden, was mit VBA mglich ist

    Die Vorteile und Nachteile bei der Verwendung von VBA kennenlernen

    Die Fakten ber VBA erfahren

    Eine Minilektion zur Geschichte von Excel

    F alls Sie Angst davor haben, sofort mit der VBA-Programmierung zu beginnen, bleiben Sieganz ruhig. Dieses Kapitel ist vllig frei von Schulungsmaterial aus der Praxis. Es enthltjedoch wichtige Hintergrundinformationen, die Ihnen dabei helfen, Excel-Programmierer zuwerden. Mit anderen Worten, dieses Kapitel ebnet Ihnen den Weg fr alles Folgende und ver-schafft Ihnen ein Gefhl dafr, wie sich die Excel-Programmierung in das Weltbild einfgt.Das ist nicht so langweilig, wie Sie vielleicht denken. Versuchen Sie also, das dringende Ver-langen zu unterdrcken, zu Kapitel 2 weiterzublttern.

    Was also ist VBA?VBA steht fr Visual Basic for Applications. Das ist eine Programmiersprache, die von Micro-soft entwickelt wurde Sie wissen schon, das ist das Unternehmen, das Ihnen alle paar Jahreeine neue Windows-Version verkauft. Excel und die anderen Komponenten von Microsoft Of-fice beinhalten die Sprache VBA (ohne zustzliche Kosten). Kurz gesagt, VBA ist das Tool, dasMenschen wie Sie und ich verwenden, um Programme zur Steuerung von Excel zu entwi-ckeln.

    Stellen Sie sich einen intelligenten Roboter vor, der alles ber Excel wei. Dieser Roboterkann Anweisungen lesen, und er kann Excel sehr schnell und sehr przise bedienen. Wenn Siewollen, dass der Roboter in Excel etwas erledigt, schreiben Sie unter Verwendung speziellerCodes Anweisungen fr ihn. Anschlieend weisen Sie den Roboter an, Ihre Anweisungen ab-zuarbeiten, whrend Sie sich zurcklehnen und eine Tasse Kaffee trinken. Mit VBA verhlt essich nicht anders. Letztlich ist es eine Codesprache fr Roboter. Beachten Sie jedoch, dass esin Excel keine Roboter und keinen Kaffee gibt.

    Ein paar Worte zur Terminologie

    Die Terminologie fr die Excel-Programmierung kann bisweilen verwirrend sein.Beispielsweise ist VBA eine Programmiersprache, dient aber gleichzeitig alsMakrosprache. Wie nennt man etwas, das in VBA geschrieben und in Excel aus-gefhrt wird? Ist es ein Makro oder ist es ein Programm? Im Hilfesystem von

    33

  • Excel werden VBA-Prozeduren hufig als Makros bezeichnet, deswegen verwendeich diese Terminologie. Aber ich bezeichne das Ganze auch als ein Programm.

    Ich verwende im gesamten Buch den Begriff automatisieren. Dieser Begriff be-deutet, dass mehrere Schritte automatisch ausgefhrt werden. Wenn Sie bei-spielsweise ein Makro schreiben, das mehrere Zellen farbig unterlegt, das Arbeits-blatt ausdruckt und dann die Farbe wieder entfernt, haben Sie diese drei Schritteautomatisiert.

    Das Wort Makro ist brigens kein Produkt des Abkrzungsfimmels, sondernkommt aus dem Griechischen: makros bedeutet gro was auch Ihren Gehalts-scheck beschreibt, den Sie erhalten, sobald Sie Profi in der Makro-Programmie-rung geworden sind.

    Was ist mit VBA mglich?Wahrscheinlich wissen Sie, dass die Benutzer Excel fr die unterschiedlichsten Aufgaben ein-setzen. Hier einige Beispiele:

    Analyse wissenschaftlicher Daten

    Budgetberechnung und Prognosen

    Erstellen von Rechnungen und anderen Formularen

    Entwicklung von Diagrammen aus Daten

    Verwaltung von Listen mit Kundennamen, Studentenbenotungen oder Ideen fr Weih-nachtsgeschenke (ein hbscher Obstkuchen wre nicht schlecht)

    und so weiter und so fort

    Diese Liste lsst sich endlos fortsetzen, aber ich glaube, Sie haben das Prinzip verstanden. Ichwill damit nur darauf hinweisen, dass Excel fr die unterschiedlichsten Aufgaben genutzt wer-den kann und dass jeder, der dieses Buch liest, unterschiedliche Bedrfnisse und Erwartun-gen im Hinblick auf Excel hat. Aber fast alle Leser haben gemeinsam, dass sie irgendeinen As-pekt von Excel automatisieren wollen. Und genau das leistet VBA.

    Beispielsweise knnen Sie ein VBA-Programm schreiben, das verschiedene Zahlen importiert,diese formatiert und zum Monatsende Ihren Umsatzbericht ausdruckt. Nachdem Sie das Pro-gramm entwickelt und getestet haben, knnen Sie das Makro mit einem einzigen Befehl aus-fhren, sodass Excel automatisch viele zeitaufwendige Prozeduren fr Sie ausfhrt. Statt sichdurch eine mhselige Folge von Befehlen qulen zu mssen, klicken Sie einfach auf eineSchaltflche und wechseln dann zu Facebook, um sich die Zeit zu vertreiben, whrend IhrMakro die Arbeit erledigt.

    In den folgenden Abschnitten beschreibe ich kurz einige gebruchliche Verwendungszweckefr VBA-Makros. Vielleicht gibt es Beispiele, die genau Ihren Vorstellungen entsprechen.

    Excel-VBA fr Dummies

    34

  • Text einfgenWenn Sie in Ihren Arbeitsblttern hufig Ihren Firmennamen, die Adresse und die Telefon-nummer einfgen mssen, knnen Sie ein Makro erstellen, das Ihnen diese Schreibarbeit ab-nimmt. Dieses Konzept knnen Sie beliebig erweitern. Beispielsweise knnten Sie ein Makroentwickeln, das automatisch eine Liste aller Vertriebsmitarbeiter eintrgt, die fr Ihr Unter-nehmen arbeiten.

    Eine hufig ausgefhrte Aufgabe automatisierenAngenommen, Sie sind Vertriebsleiter und wollen jeweils zum Monatsende einen Umsatzbe-richt aufbereiten, den Ihr Chef dringend braucht. Wenn diese Aufgabe einfach zu bewerkstelli-gen ist, knnen Sie auch ein VBA-Programm schreiben, das diese Aufgabe fr Sie erledigt. IhrChef wird von der durchgngig hohen Qualitt Ihrer Berichte beeindruckt sein, und Sie wer-den befrdert bis zu einer Stelle, fr die Sie hchst unqualifiziert sind.

    Automatisierung wiederholter OperationenWenn Sie dieselbe Operation beispielsweise fr zwlf verschiedene Excel-Arbeitsmappen aus-fhren mssen, knnen Sie ein Makro aufzeichnen, whrend Sie die Aufgabe in der ersten Ar-beitsmappe ausfhren, und es anschlieend dem Makro berlassen, diese Aufgabe fr die an-deren Arbeitsmappen auszufhren. Das Schne daran ist, dass sich Excel nie beschwert, dasses ihm langweilig wird. Der Makro-Recorder von Excel ist vergleichbar mit einer Videokame-ra, die Liveaktionen aufzeichnet. Aber man bentigt dafr keine Kamera, und die Batterie istnie gerade leer.

    Einen benutzerdefinierten Befehl anlegenFhren Sie hufig dieselbe Folge an Menbefehlen in Excel aus? In diesem Fall sparen Siesich ein paar Sekunden, indem Sie ein Makro entwickeln, das diese Befehle zu einem einzigenbenutzerdefinierten Befehl zusammenfasst, den Sie mit einem einzigen Tastendruck oderber einen Klick aktivieren knnen. Damit sparen Sie vielleicht nicht so viel Zeit, aber Sie ar-beiten mglicherweise prziser. Und Ihr Bronachbar wird beeindruckt sein.

    Eine benutzerdefinierte Schaltflche erstellenSie knnen in der Schnellzugriffsleiste eigene Schaltflchen anlegen, die die von Ihnen ge-schriebenen Makros ausfhren. Bromenschen sind immer sehr beeindruckt von Schaltfl-chen, die zaubern knnen. Und wenn Sie Ihre Kollegen wirklich beeindrucken wollen, kn-nen Sie sogar neue Schaltflchen in das Menband einfgen.

    Neue Funktionen fr die Arbeitsmappe entwickelnObwohl es in Excel Hunderte eingebauter Funktionen gibt (wie beispielsweise SUMME oderMITTELWERT), knnen Sie benutzerdefinierte Funktionen fr Ihre Arbeitsmappen entwi-ckeln, die Ihre Formeln wesentlich vereinfachen. Ich garantiere Ihnen, Sie werden berrascht

    1 Was ist VBA?

    35

  • sein, wie einfach das ist. (Darum wird es in Kapitel 20 gehen.) Und noch besser ist, dass im Di-alogfeld FUNKTION EINFGEN Ihre benutzerdefinierten Funktionen angezeigt werden, sodass esnoch mehr danach aussieht, als wren sie eingebaut. Sehr interessant!

    Benutzerdefinierte Add-Ins fr Excel erstellenWahrscheinlich sind Sie schon mit einigen der Add-Ins fr Excel vertraut. Beispielsweise istdas Add-In Analysis ToolPak sehr gebruchlich. Mit VBA knnen Sie Ihre eigenen, spezifi-schen Add-Ins erstellen. Ich habe mit VBA mein Add-In Power Utility Pak entwickelt, undMenschen auf der ganzen Welt zahlen mir Geld dafr, es nutzen zu knnen.

    Vollstndige makrogesteuerte Anwendungen erstellenWenn Sie bereit sind, ein bisschen Zeit aufzuwenden, knnen Sie mit VBA auch grere An-wendungen erstellen, mit benutzerdefinierter Registerkarte im Menband, Dialogfeldern, On-line-Hilfe und zahlreichen anderen Ausstattungen. Dieses Buch wird nicht so weit gehen, aberich mchte Sie dennoch darauf hinweisen, damit Sie erkennen, wie leistungsfhig VBA wirk-lich ist.

    Vorteile und Nachteile von VBAIn diesem Abschnitt beschreibe ich kurz die Vorteile von VBA ich weise aber auch auf seinedunkle Seite hin.

    Vorteile von VBAIn Excel kann fast alles automatisiert werden. Dazu schreiben Sie Anweisungen, die Excel aus-fhrt. Die Automatisierung einer Aufgabe unter Verwendung von VBA bringt mehrere Vorteilemit sich:

    Excel fhrt die Aufgabe immer auf dieselbe Weise aus. (Meistens ist diese Konsistenz vonVorteil.)

    Excel fhrt die Aufgabe sehr viel schneller aus, als Sie sie manuell erledigen knnen (essei denn natrlich, Sie sind Superman).

    Wenn Sie ein guter Makro-Programmierer sind, fhrt Excel die Aufgabe immer fehlerfreiaus (was Sie und ich nicht immer von uns behaupten knnen).

    Wenn Sie alles korrekt eingerichtet haben, kann auch eine Person, die nicht gut mit Excelumgehen kann, die Aufgabe ausfhren.

    Sie knnen Dinge in Excel erledigen, die andernfalls unmglich sind, was Sie im Brosehr beliebt machen wird.

    Fr lange, zeitaufwendige Arbeiten mssen Sie nicht mehr vor Ihrem Computer sitzenund sich langweilen. Excel erledigt fr Sie die Arbeit, whrend Sie Kaffeetrinken gehenknnen.

    Excel-VBA fr Dummies

    36

  • Nachteile von VBAEs ist nur gerecht, wenn ich Ihnen jetzt auch die Nachteile von VBA erzhle (jedenfalls poten-zielle Nachteile):

    Sie mssen wissen, wie man in VBA programmiert (aber dafr haben Sie ja jetzt diesesBuch). Glcklicherweise ist das nicht so schwierig, wie Sie vielleicht annehmen.

    Andere Anwender, die Ihre VBA-P