Falls Sie Angst davor haben, sofort mit der VBA-Programmierung zu beginnen, bleiben Sie



Ähnliche Dokumente
Falls Sie Angst davor haben, sofort mit der VBA-Programmierung zu beginnen, bleiben

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Dieses Kapitel ist frei von praktischen Übungen. Es enthält aber einige wichtige Hintergrundinformationen,

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

! " # $ " % & Nicki Wruck worldwidewruck

Der neue persönliche Bereich/die CommSy-Leiste

Erstellen von x-y-diagrammen in OpenOffice.calc

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Zwischenablage (Bilder, Texte,...)

Professionelle Seminare im Bereich MS-Office

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Woche 1: Was ist NLP? Die Geschichte des NLP.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Dokumentation von Ük Modul 302

Geld Verdienen im Internet leicht gemacht

Kapitel 16 Seite 1. Mit Wikispaces eine Homepage erstellen. Die eigene Homepage mit Wikispaces.

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

1 PIVOT TABELLEN. 1.1 Das Ziel: Basisdaten strukturiert darzustellen. 1.2 Wozu können Sie eine Pivot-Tabelle einsetzen?

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Dialogfeld «Speichern unter» öffnen und unter Dateityp «Word Dokument mit Makros» wählen. Das Dokument wird mit der Endung.dotm abgespeichert.

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Text-Zahlen-Formatieren

Enigmail Konfiguration

Anleitung zur Verwendung der VVW-Word-Vorlagen

Informationsblatt Induktionsbeweis

Anleitung über den Umgang mit Schildern

Was ich als Bürgermeister für Lübbecke tun möchte

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN

Jederzeit Ordnung halten

Microsoft Access 2010 Navigationsformular (Musterlösung)

1. Was ihr in dieser Anleitung

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Dazu stellen Sie den Cursor in die Zeile, aus der eine Überschrift werden soll, und klicken auf die gewünschte Überschrift.

Abwesenheitsnotiz im Exchange Server 2010

Lehrer: Einschreibemethoden

Mehr Arbeits-Plätze für Menschen mit Behinderung auf dem 1. Arbeits-Markt

Datei Erweiterungen Anzeigen!

Stand: Adressnummern ändern Modulbeschreibung

Tutorial: Gnumeric installieren und Jahres-Kostenübersicht erstellen mit Diagramm

Kreativ visualisieren

Flash Videos einbinden

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

Animationen erstellen

Einleitung. Für wen ist dieses Buch

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Statuten in leichter Sprache

Monatstreff für Menschen ab 50 Merkblatt 69 EXCEL Peter Aeberhard, Computeria Olten

Gruppenrichtlinien und Softwareverteilung

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

xcall White Paper Wählen-Buttons in Excel

teamsync Kurzanleitung

Drucken von Webseiten Eine Anleitung, Version 1.0

2. ZELLINHALTE UND FORMELN

Zahlen auf einen Blick

AutoCAD Dienstprogramm zur Lizenzübertragung

Professionelle Seminare im Bereich MS-Office

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

1 Mathematische Grundlagen

EINFACHES HAUSHALT- KASSABUCH

Einführung in Powerpoint M. Hasler Wie erstelle ich eine Präsentation mit Powerpoint? - Eine Kurzanleitung

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Primzahlen und RSA-Verschlüsselung

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

(C)opyright 2009 by Jochen Vajda

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Zeichen bei Zahlen entschlüsseln

Alle gehören dazu. Vorwort

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Installieren von Microsoft Office Version 2.1

Anleitung zum Öffnen meiner Fotoalben bei web.de

Mediator 9 - Lernprogramm

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Zur drittletzten Zeile scrollen

Workflows verwalten. Tipps & Tricks

VBA mit Excel Grundlagen und Profiwissen

So sind häufig benötigte Formeln sofort zur Hand

ecall sms & fax-portal

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent

Pfötchenhoffung e.v. Tier Manager

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Wie halte ich Ordnung auf meiner Festplatte?

3. Die tägliche -Flut effizient verwalten

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Gantt-Diagramm - Diagramm zur Projektverfolgung

Leichte-Sprache-Bilder

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Transkript:

Was ist VBA? In diesem Kapitel Einen allgemeinen Überblick über VBA gewinnen Herausfinden, was mit VBA möglich ist DieVorteileundNachteilebeiderVerwendung von VBA kennenlernen Die Fakten über VBA erfahren Eine Minilektion zur Geschichte von Excel 1 Falls Sie Angst davor haben, sofort mit der VBA-Programmierung zu beginnen, bleiben Sie ganz ruhig. Dieses Kapitel ist völlig frei von Schulungsmaterial aus der Praxis. Es enthält jedoch wichtige Hintergrundinformationen, die Ihnen dabei helfen, Excel-Programmierer zu werden. Mit anderen Worten, dieses Kapitel ebnet Ihnen den Weg für alles Folgende und verschafft Ihnen ein Gefühl dafür, wie sich die Excel-Programmierung in das Weltbild einfügt. Das ist nicht so langweilig, wie Sie vielleicht denken. Versuchen Sie also, das dringende Verlangen zu unterdrücken, zu Kapitel 2 weiterzublättern. Was also ist VBA? VBA steht für Visual Basic for Applications. Das ist eine Programmiersprache, die von Microsoft entwickelt wurde Sie wissen schon, das ist das Unternehmen, das Ihnen alle paar Jahre eine neue Windows-Version verkauft. Excel und die anderen Komponenten von Microsoft Office beinhalten die Sprache VBA (ohne zusätzliche Kosten). Kurz gesagt, VBA ist das Tool, das Menschen wie Sie und ich verwenden, um Programme zur Steuerung von Excel zu entwickeln. Stellen Sie sich einen intelligenten Roboter vor, der alles über Excel weiß. Dieser Roboter kann Anweisungen lesen, und er kann Excel sehrschnell und sehr präzise bedienen. Wenn Sie wollen, dass der Roboter in Excel etwas erledigt, schreiben Sie unter Verwendung spezieller Codes Anweisungen für ihn. Anschließend weisen Sie den Roboter an, Ihre Anweisungen abzuarbeiten, während Sie sich zurücklehnen und eine Tasse Kaffee trinken. Mit VBA verhält es sich nicht anders. Letztlich ist es eine Codesprache für Roboter. Beachten Sie jedoch, dass es in Excel keine Roboter und keinen Kaffee gibt. Ein paar Worte zur Terminologie Die Terminologie für die Excel-Programmierung kann bisweilen verwirrend sein. Beispielsweise ist VBA eine Programmiersprache, dient aber gleichzeitig als Makrosprache. Wie nennt man etwas, das in VBA geschrieben und in Excel ausgeführt wird? Ist es ein Makro oder ist es ein Programm? Im Hilfesystem von 33

Excel-VBA für Dummies Excel werden VBA-Prozeduren häufig als Makros bezeichnet, deswegen verwende ich diese Terminologie. Aber ich bezeichne das Ganze auch als ein Programm. Ich verwende im gesamten Buch den Begriff automatisieren. Dieser Begriff bedeutet, dass mehrere Schritte automatisch ausgeführt werden. Wenn Sie beispielsweise einmakro schreiben, dasmehrere Zellen farbig unterlegt, das Arbeitsblatt ausdruckt und dann die Farbe wieder entfernt, haben Sie diese drei Schritte automatisiert. Das Wort Makro ist übrigens kein Produkt des Abkürzungsfimmels, sondern kommt aus dem Griechischen: makros bedeutet groß was auch Ihren Gehaltsscheck beschreibt, den Sie erhalten, sobald Sie Profi in der Makro-Programmierung geworden sind. Was ist mit VBA möglich? Wahrscheinlich wissen Sie, dass die Benutzer Excel für die unterschiedlichsten Aufgaben einsetzen. 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 für Weihnachtsgeschenke (ein hübscher Obstkuchen wäre nicht schlecht) und so weiter und so fort Diese Liste lässt sich endlos fortsetzen, aber ich glaube, Sie haben das Prinzip verstanden. Ich will damit nur darauf hinweisen, dass Excel für die unterschiedlichstenaufgaben genutztwerden kann und dass jeder, der dieses Buch liest, unterschiedliche Bedürfnisse und Erwartungen im Hinblick auf Excel hat. Aber fast alle Leser haben gemeinsam, dass sie irgendeinen Aspekt von Excel automatisieren wollen. Und genau das leistet VBA. Beispielsweise können Sie ein VBA-Programm schreiben, das verschiedene Zahlen importiert, diese formatiert und zum Monatsende Ihren Umsatzbericht ausdruckt. Nachdem Sie das Programm entwickelt und getestet haben, können Sie das Makro mit einem einzigen Befehl ausführen, sodass Excel automatisch viele zeitaufwendige Prozeduren für Sie ausführt. Statt sich durch eine mühselige Folge von Befehlen quälen zu müssen, klicken Sie einfach auf eine Schaltfläche und wechseln dann zu Facebook, um sich die Zeit zu vertreiben, während Ihr Makro die Arbeit erledigt. In den folgenden Abschnitten beschreibe ich kurz einige gebräuchliche Verwendungszwecke für VBA-Makros. Vielleicht gibt es Beispiele, die genau Ihren Vorstellungen entsprechen. 34

Text einfügen Wenn Sie in Ihren Arbeitsblättern häufig Ihren Firmennamen, die Adresse und die Telefonnummer einfügen müssen, können Sie ein Makro erstellen, das Ihnen diese Schreibarbeit abnimmt. Dieses Konzept können Sie beliebig erweitern. Beispielsweise könnten Sie ein Makro entwickeln, das automatisch eine Liste aller Vertriebsmitarbeiter einträgt, die für Ihr Unternehmen arbeiten. Eine häufig ausgeführte Aufgabe automatisieren Angenommen, Sie sind Vertriebsleiter und wollen jeweils zum Monatsende einen Umsatzbericht aufbereiten, den Ihr Chef dringend braucht. Wenn diese Aufgabe einfach zu bewerkstelligen ist, können Sie auch ein VBA-Programm schreiben, das diese Aufgabe für Sie erledigt. Ihr Chef wird von der durchgängig hohen Qualität Ihrer Berichte beeindruckt sein, und Sie werden befördert bis zu einer Stelle, für die Sie höchst unqualifiziert sind. Automatisierung wiederholter Operationen Wenn Sie dieselbe Operation beispielsweise für zwölf verschiedene Excel-Arbeitsmappen ausführen müssen, können Sie ein Makro aufzeichnen, während Sie die Aufgabe in der ersten Arbeitsmappe ausführen, und es anschließend dem Makro überlassen, diese Aufgabe für die anderen Arbeitsmappen auszuführen. Das Schöne daran ist, dass sich Excel nie beschwert, dass es ihm langweilig wird. Der Makro-Recorder von Excel ist vergleichbar mit einer Videokamera, die Liveaktionen aufzeichnet. Aber man benötigt dafür keine Kamera, und die Batterie ist nie gerade leer. Einen benutzerdefinierten Befehl anlegen Führen Sie häufig dieselbe Folge an Menübefehlen in Excel aus? In diesem Fall sparen Sie sich ein paar Sekunden, indem Sie ein Makro entwickeln, das diese Befehle zu einem einzigen benutzerdefinierten Befehl zusammenfasst, den Sie mit einem einzigen Tastendruck oder über einen Klick aktivieren können. Damit sparen Sie vielleicht nicht so viel Zeit, aber Sie arbeiten möglicherweise präziser. Und Ihr Büronachbar wird beeindruckt sein. Eine benutzerdefinierte Schaltfläche erstellen Sie können in der Schnellzugriffsleiste eigene Schaltflächen anlegen, die die von Ihnen geschriebenen Makros ausführen. Büromenschen sind immer sehr beeindruckt von Schaltflächen, die zaubern können. Und wenn Sie Ihre Kollegen wirklich beeindrucken wollen, können Sie sogar neue Schaltflächen in das Menüband einfügen. Neue Funktionen für die Arbeitsmappe entwickeln 1 Was ist VBA? Obwohl es in Excel Hunderte eingebauter Funktionen gibt (wie beispielsweise SUMME oder MITTELWERT), können Sie benutzerdefinierte Funktionen für Ihre Arbeitsmappen entwickeln, die Ihre Formeln wesentlich vereinfachen. Ich garantiere Ihnen, Sie werden überrascht 35

Excel-VBA für Dummies sein, wie einfach das ist. (Darum wird es in Kapitel 20 gehen.) Und noch besser ist, dass im Dialogfeld FUNKTION EINFÜGEN Ihre benutzerdefinierten Funktionen angezeigt werden, sodass es noch mehr danach aussieht, als wären sie eingebaut. Sehr interessant! Benutzerdefinierte Add-Ins für Excel erstellen Wahrscheinlich sind Sie schon mit einigen der Add-Ins für Excel vertraut. Beispielsweise ist das Add-In Analysis ToolPak sehr gebräuchlich. Mit VBA können Sie Ihre eigenen, spezifischen Add-Ins erstellen. Ich habe mit VBA mein Add-In Power Utility Pak entwickelt, und Menschen auf der ganzen Welt zahlen mir Geld dafür, es nutzen zu können. Vollständige makrogesteuerte Anwendungen erstellen Wenn Sie bereit sind, ein bisschen Zeit aufzuwenden, können Sie mit VBA auch größere Anwendungen erstellen, mit benutzerdefinierter Registerkarte im Menüband, Dialogfeldern, Online-Hilfe und zahlreichen anderen Ausstattungen. Dieses Buch wird nicht so weit gehen, aber ich möchte Sie dennoch darauf hinweisen, damit Sie erkennen, wie leistungsfähig VBA wirklich ist. Vorteile und Nachteile von VBA In diesem Abschnitt beschreibe ich kurz die Vorteile von VBA ich weise aber auch auf seine dunkle Seite hin. Vorteile von VBA In Excel kann fast alles automatisiert werden. Dazu schreiben Sie Anweisungen, die Excel ausführt. Die Automatisierung einer Aufgabe unter Verwendung von VBA bringt mehrere Vorteile mit sich: Excel führt die Aufgabe immer auf dieselbe Weise aus. (Meistens ist diese Konsistenz von Vorteil.) Excel führt die Aufgabe sehr viel schneller aus, als Sie sie manuell erledigen können (es sei denn natürlich, Sie sind Superman). Wenn Sie ein guter Makro-Programmierer sind, führt Excel die Aufgabe immer fehlerfrei aus (was Sie und ich nicht immer von uns behaupten können). Wenn Sie alles korrekt eingerichtet haben, kann auch eine Person, die nicht gut mit Excel umgehen kann, die Aufgabe ausführen. Sie können Dinge in Excel erledigen, die andernfalls unmöglich sind, was Sie im Büro sehr beliebt machen wird. Für lange, zeitaufwendige Arbeiten müssen Sie nicht mehr vor Ihrem Computer sitzen und sich langweilen. Excel erledigt für Sie die Arbeit, während Sie Kaffeetrinken gehen können. 36

Nachteile von VBA 1 Was ist VBA? Es ist nur gerecht, wenn ich Ihnen jetzt auch die Nachteile von VBA erzähle (jedenfalls potenzielle Nachteile): Sie müssen wissen, wie man in VBA programmiert (aber dafür haben Sie ja jetzt dieses Buch). Glücklicherweise ist das nicht so schwierig, wie Sie vielleicht annehmen. Andere Anwender, die Ihre VBA-Programme benutzen wollen, brauchen ebenfalls Excel. Es wäre praktisch, wenn man eine Schaltfläche drücken könnte, die Ihre Excel/VBA-Anwendung zu einem eigenständigen Programm macht, aber das ist nicht möglich (und wird es wahrscheinlich nie sein). Manchmal läuft etwas schief. Mit anderen Worten, Sie können nicht blind darauf vertrauen, dass Ihr VBA-Programm immer und unter allen Umständen korrekt funktioniert. Willkommen in der Welt des Debuggings und (falls andere Ihre Makros verwenden) des technischen Supports. VBA ist ein bewegliches Ziel. Wie Sie wissen, gibt Microsoft ständig UpgradesfürExcel heraus. Und obwohl man sich größte Mühe gibt, Kompatibilität zwischen den Versionen zu gewährleisten, werden Sie immer wieder feststellen, dass der von Ihnen für ältere Versionen geschriebene VBA-Code bei neueren Excel-Versionen nicht mehr fehlerfrei funktioniert. VBA in Kürze Jetzt will ich Ihnen einen kurzen und groben Überblick über VBA geben, nur damit Sie wissen, was Sie erwartet. Natürlich beschreibe ich alle diese Dinge später im Buch noch detaillierter. Sie führen Aktionen in VBA aus, indem Sie Code in einem VBA-Modul schreiben (oder aufzeichnen). VBA-Module werden im Visual Basic Editor (VBE) angezeigt undbearbeitet. Ein VBA-Modul besteht aus Sub-Prozeduren. Eine Sub-Prozedur hat überhaupt nichts mit U-Booten oder belegten Broten zu tun. Stattdessen handelt es sich dabei um Computercode, der irgendwelche Aktionen für irgendwelche Objekte ausführt (wie Sie gleich genauer erfahren werden). Das folgende Beispiel zeigt eine einfache Sub-Prozedur mit dem Namen ADDEMUP. Dieses bemerkenswerte Programm zeigt das Ergebnis von 1 plus 1 an. Sub AddEmUp() Sum = 1 + 1 MsgBox ''Die Lösung ist '' & Sum End Sub Eine Sub-Prozedur, die nicht fehlerfrei arbeitet, wird als suboptimal bezeichnet. Ein VBA-Modulkann auch Funktionsprozeduren enthalten. Eine Funktionsprozedur gibt eineneinzigen Wertzurück. Sie können sie von einer anderen VBA-Prozedur aus aufrufen 37

oder sie sogar als Funktion in einer Formel auf einem Arbeitsblatt verwenden. Nachfolgend finden Sie ein Beispiel für eine Funktionsprozedur: ADDTWO. Diese Funktion nimmt zwei Zahlen entgegen und gibt die Summe ihrer Werte aus: Function AddTwo(arg1, arg2) AddTwo = arg1 + arg2 End Function Excel-VBA für Dummies Eine Funktionsprozedur, die nicht ordnungsgemäß funktioniert, wird als dysfunktional bezeichnet. VBA manipuliert Objekte. Excel enthält Dutzende von Objekten, die Sie manipulieren können. Beispiele für Objekte sind unter anderem Arbeitsmappen, Tabellen, Zellenbereiche, Diagramme oder Formen. Möglicherweise stehen Ihnen aber noch sehr viel mehr Objekte zur Verfügung, die Sie mit Ihrem VBA-Code manipulieren können. Objekte sind hierarchisch angeordnet. Objekte können als Container für andere Objekte dienen. Ganz oben in der Objekthierarchie steht Excel. Excel selbst ist ein Objekt namens APPLICATION. DasObjektAPPLICATION enthält weitere Objekte, wie beispielsweise WORKBOOK- Objekte und ADD-IN-Objekte. Das WORKBOOK-Objekt kann weitere Objekte enthalten, beispielsweise WORKSHEET-Objekte und CHART-Objekte. Ein WORKSHEET-Objekt kann beispielsweise RANGE-Objekte und PIVOTTABLE-Objekte enthalten. Der Begriff Objektmodell bezieht sich auf die Anordnung dieser Objekte. (Weitere Informationen über Objektmodelle finden Sie in Kapitel 4.) Objekte desselben Typs bilden eine Collection. Die WORKSHEETS-Collection beispielsweise besteht aus allen Arbeitsblättern einer bestimmten Arbeitsmappe. Die CHARTS-Collection besteht aus allen CHART-Objekten in einer Arbeitsmappe. Collections sind ebenfalls Objekte. Der Verweis auf ein Objekt erfolgt durch die Angabe seiner Position innerhalb der Objekthierarchie und unter Verwendung eines Punkts als Trennzeichen. Beispielsweise verweisen Sie auf die Arbeitsmappe BOOK1.XLSX wie folgt: Application.Workbooks(''Book1.xlsx'') DamitverweisenSieaufdieArbeitsmappeBOOK1.XLSX in der WORKBOOKS-Collection. Die WORKBOOKS-Collection ist im APPLICATION-Objekt enthalten (das heißt Excel). Durch Erweiterung auf die nächste Ebene können Sie auf Arbeitsblatt 1 in BOOK1.XLSX verweisen: Application.Workbooks(''Book1.xlsx'').Worksheets(''Tabelle1'') Wie im folgenden Beispiel gezeigt, können Sie dies auf eine weitere Ebene ausdehnen und auf eine bestimmte Zelle verweisen (in diesem Fall ist das Zelle A1): Application.Workbooks(''Book1.xlsx'').Worksheets(''Tabelle1'').Range(''A1'') Falls Sie keine speziellen Verweise (auch als Referenzen bezeichnet) angeben, verwendet Excel die aktiven Objekte. Wenn BOOK1.XLSX die aktive Arbeitsmappe ist, können Sie den oben gezeigten Verweis wie folgt vereinfachen: Worksheets(''Tabelle1'').Range(''A1'') 38

Wenn Sie wissen, dass Arbeitsblatt 1 das aktive Arbeitsblatt ist, können Sie den Verweis noch weiter vereinfachen: Range(''A1'') Objekte haben Eigenschaften. Sie können sich eine Eigenschaft als Einstellung für ein Objekt vorstellen. Beispielsweise hat ein RANGE-Objekt Eigenschaften wie VALUE (Wert) und ADDRESS (Adresse). Ein CHART-Objekt hat Eigenschaften wie HASTITLE (Hat einen Titel) und TYPE (Typ). Mithilfe von VBA können Sie Objekteigenschaften ermitteln und diese auch ändern. Der Verweis auf eine Eigenschaft eines Objekts erfolgt durch Kombination des Objektnamens mit dem Eigenschaftsnamen, durch einen Punkt voneinander getrennt. Beispielsweise verweisen Sie wie folgt auf die VALUE-Eigenschaft in Zelle A1 auf Blatt 1: Worksheets(''Tabelle1'').Range(''A1'').Value Sie können Variablen Werte zuweisen. Eine Variable ist ein benanntes Element, das Informationen speichert. Sie können Variablen in Ihrem VBA-Code verwenden, um beispielsweise Werte, Text oder Eigenschaftseinstellungen zu speichern. Um der Variablen Zins den Wert aus Zelle A1 auf Arbeitsblatt 1 zuzuweisen, verwenden Sie die folgende VBA-Anweisung: Zins = Worksheets(''Tabelle1'').Range(''A1'').Value Objekte haben Methoden. Eine Methode ist eine Aktion, die Excel für ein Objekt ausführt. Ein Beispiel für eine Methode für ein RANGE-Objekt ist CLEARCONTENTS. Wie der Name schon sagt, löscht die Methode den Inhalt des Bereichs. Die Angabe einer Methode erfolgt durch Kombination des Objekts mit der Methode, durch einen Punkt voneinander getrennt. Beispielsweise löscht die folgende Anweisung den Inhalt von Zelle A1: Worksheets(''Tabelle1'').Range(''A1'').ClearContents 1 Was ist VBA? VBA enthält alle Konstrukte einer modernen Programmiersprache, einschließlich Variablen, Arrays und Schleifen. Mit anderen Worten, wenn Sie sich ein wenig Zeit nehmen, um das Ganze zu sortieren, können Sie Code schreiben, der unglaubliche Dinge erledigt. Ob Sie es glauben oder nicht, die obige Liste beschreibt VBA in Kurzform komplett. Jetzt sehen wir uns noch die Details an. Deshalb hat dieses Buch mehrere Seiten. Überblick über verschiedene Versionen Wenn Sie VBA-Makros entwickeln wollen, sollten Sie die Vergangenheit von Excel kennen. Ich weiß, Sie haben von diesem Buch keine geschichtlichen Informationen erwartet, aber vertrauen Sie mir einfach. Dies sind wichtige Informationen, die Ihnen auf der nächsten Insider- Party möglicherweise viele Punkte bringen. 39

Excel-VBA für Dummies Nachfolgend finden Sie eine Liste der Excel-Hauptversionen für Windows, die es bisher gegeben hat, ebenso wie Informationen dazu, wie sie mit Makros umgehen: Excel 2: Die Urversion von Excel für Windows hieß Version 2 (und nicht 1), sodass die Versionsnummer mit der Macintosh-Version übereinstimmt. Excel 2 wurde 1987 veröffentlicht, aber heute setzt es niemand mehr ein, Sie können es also mehr oder weniger vergessen. Excel 3: Diese Version wurde Ende der Achtzigerjahre veröffentlicht und unterstützt die Makro-Sprache XML. Auch diese Version wird nicht mehr genutzt. Excel 4: Diese Version wurde Anfang 1992 veröffentlicht. Auch sie verwendet die Makro- Sprache XML. Vielleicht gibt es noch 10 oder 20 Leute, die diese Version einsetzen (ganz nach dem Motto Never touch a running system). Excel 5: Diese Version wurde Anfang 1994 veröffentlicht. Als erste Version benutzte sie VBA(unterstützteaberauchnochXML).Ichhabejahrelangvonniemandemmehrgehört, der diese Version verwendet. Excel 95: Technisch auch als Excel 7 bezeichnet (es gibt kein Excel 6). Diese Version wurde im Sommer 1995 veröffentlicht. Sie hat einige VBA-Erweiterungen und unterstützt XML. Heute wird sie kaum noch verwendet. Excel 97: Diese Version (auch als Excel 8 bezeichnet) wurde im Januar 1997 veröffentlicht. Sie umfasst zahlreiche Erweiterungen und unterstützt eine völlig neue Schnittstelle für die Programmierung von VBA-Makros. Excel 97 verwendet außerdem ein neues Dateiformat (das mit früheren Excel-Versionen nicht geöffnet werden kann). Gelegentlich trifft man noch auf Anwender dieser Version. Excel 2000: Mit dieser Version wurde die Nummerierung auf vier Stellen erweitert. Excel 2000 (auch als Excel 9 bezeichnet) wurde im Juni 1999 veröffentlicht. Es umfasst aus Sicht des Programmierers nur wenige Erweiterungen. Excel 2000 wird ebenfalls nur noch selten benutzt. Excel 2002: Diese Version (auch als Excel 10 oder Excel XP bezeichnet) wurde Ende 2001 veröffentlicht. Das wichtigste Merkmal dieser Version ist vermutlich die Möglichkeit, die Arbeit wiederherzustellen, wenn Excel abstürzt. Es wird auch heute noch eingesetzt. Excel 2003: Von allen Excel-Upgrades, die mir begegnet sind (und ich kenne sie alle), hat Excel 2003 die wenigsten neuen Funktionen mitgebracht. Mit anderen Worten, die meisten Hardcore-Benutzer von Excel (einschließlich Ihnen natürlich) waren sehr enttäuscht von Excel 2003. Zum Zeitpunkt der Drucklegung dieses Buchs ist Excel 2003 noch eine allgemein verwendete Version. Es ist die letzte Version, bevor das Menüband eingesetzt wurde. Excel 2007: Excel 2007 hat den Anfang eines neuen Zeitalters angekündigt. Excel 2007 hat die alte Benutzeroberfläche mit Menü und Symbolleiste verworfen und das Menüband eingeführt. Ich war zunächst enttäuscht, dass das Band nicht mit VBA angepasst werden konnte. Aber es bot genügend neue Funktionsmerkmale, um mich zufriedenzustellen, wie beispielsweise ein neues Dateiformat und die Unterstützung sehr viel größerer Arbeitsblätter (mit mehr als einer Million Zeilen). 40

1 Was ist VBA? Excel 2010: Mit dieser Version hat sich Microsoft selbst übertroffen. Sie enthält einige interessante neue Funktionen (wie beispielsweise Sparkline-Grafiken) und weistin verschiedenen Bereichen eine sehr viel bessere Leistung auf. Und wenn Sie wirklich sehr große Arbeitsmappen brauchen, können Sie die 64-Bit-Version installieren. Aber auch hier war ich enttäuscht, weil es immer noch keine Möglichkeit gab, das Menüband mit VBA abzuändern. Excel 2013: Dies war die erste Version von Excel mit SDI (Single Document Interface). Das bedeutet, jede Arbeitsmappe hat ein eigenes Fenster. Außerdem hat Excel 2013 verschiedene andere neue Funktionen eingeführt, wie beispielsweise das automatische Auffüllen von Tabellenspalten auf Basis einer Vorgabe, ebenso wie zahlreiche neue Arbeitsblattfunktionen. Das Menüband kann immer noch nicht mit VBA abgeändert werden. Excel 2016: Dies ist die neueste Version, die ich für dieses Buch verwendet habe. Sie umfasst ein paar neue Funktionen, wie beispielsweise Power Query, ebenso wie ein paar neue Diagrammtypen. Excel 2016steht auch in einer Online-Version für Mobilgeräte zur Verfügung, aber diese Versionen unterstützen VBA nicht. Das Menüband gibt es immer noch, und Sie können es immer noch nicht mit VBA abändern. Dieses Buch wurde für Excel 2013 und Excel 2016 entwickelt. Wenn Sie andere Versionen einsetzen, kann es sein, dass die hier gezeigten Beschreibungen an manchen Stellen nicht mit Ihrer Benutzeroberfläche übereinstimmen. Was genau soll Ihnen dieses Minikapitel mit dem geschichtlichen Überblick mitteilen? Wenn Sie vorhaben, Ihre Excel/VBA-Dateien an andere Benutzer weiterzugeben, müssen Sie unbedingt wissen, welche Version diese benutzen. Anwender mit einer älteren Version können neue Funktionen aus neueren Versionen nicht nutzen. Wenn Sie beispielsweise VBA-Code schreiben, der auf Zelle XFD1048567 verweist (die letzte Zelle in einer Arbeitsmappe), erhalten alle Anwender mit Excel-Versionen vor 2007 eine Fehlermeldung, weil dort die Arbeitsblätter nur 65.536 Zeilen und 255 Spalten unterstützen (die letzte Zelle ist damit IV65536). In Excel 2010 und später gibt es außerdem einige neue Objekte, Methoden und Eigenschaften. Wenn Sie diese in Ihrem Code verwenden, erhalten Benutzer mit einer älteren Excel-Version eine Fehlermeldung, wenn sie Ihr Makro ausführen, und beschweren sich möglicherweise bei Ihnen. Eine gute Nachricht ist, dass Microsoft ein Office Compatibility Pack zur Verfügung gestellt hat, das den Benutzern von Excel 2003 und Excel XP gestattet, Arbeitsmappen im neuen Dateiformat zu öffnen und zu speichern. Dieses Produkt (das übrigens kostenlos ist) stattet diese älteren Versionen nicht mit den neuen Funktionen aus. Es gestattet ihnen nur, Dateien im neueren Dateiformat zu öffnen und zu speichern. 41