83
Thomas Theis Einstieg in VBA mit Excel

Einstieg in VBA mit Excel - Amazon S3

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einstieg in VBA mit Excel - Amazon S3

Thomas Theis

Einstieg in VBA mit Excel

Page 2: Einstieg in VBA mit Excel - Amazon S3

Auf einen Blick

Auf einen Blick

1 Einführung .................................................................................................................... 17

2 Grundlagen von Objekten und Ereignissen ....................................................... 49

3 Grundlagen der Programmierung mit VBA ....................................................... 103

4 Fehlerbehandlung ...................................................................................................... 139

5 Mehr über die Programmierung mit VBA ........................................................... 147

6 Mehr über Objekte ..................................................................................................... 185

7 Diagramme und Grafiken ........................................................................................ 205

8 VBA- und Worksheet-Funktionen ......................................................................... 249

9 Externe Daten .............................................................................................................. 295

10 Dialogfelder .................................................................................................................. 359

11 Beispielprojekte ........................................................................................................... 385

Page 3: Einstieg in VBA mit Excel - Amazon S3

Inhalt

5

Inhalt

Geleitwort des Fachgutachters .............................................................................................. 15

1 Einführung 17

1.1 Was wird besser durch Makros und VBA? ............................................................... 17

1.2 MS Office 2013 ............................................................................................................... 19

1.3 Arbeiten mit Makros ................................................................................................... 20

1.3.1 Makro aufzeichnen ......................................................................................... 20

1.3.2 Makro ausführen ............................................................................................ 23

1.3.3 Makro ansehen ................................................................................................ 23

1.3.4 Makro speichern ............................................................................................. 25

1.3.5 Makrosicherheit ändern ................................................................................. 26

1.3.6 Registerkarte »Entwicklertools« .................................................................... 28

1.3.7 Makrosicherheit dauerhaft ändern .............................................................. 29

1.4 Entwicklungsumgebung Visual Basic Editor .......................................................... 31

1.4.1 Menüleiste und Symbolleiste ........................................................................ 31

1.4.2 Projekt-Explorer und Eigenschaften-Fenster ............................................... 32

1.4.3 Codefenster ..................................................................................................... 33

1.5 Makrocode verstehen und ändern ........................................................................... 34

1.6 Makro per Schaltfläche ausführen ........................................................................... 36

1.7 Relative Aufzeichnung ................................................................................................ 37

1.8 Persönliche Makroarbeitsmappe .............................................................................. 39

1.9 Code schreiben, einfache Ausgabe ........................................................................... 41

1.9.1 Eigene Sub-Prozedur ....................................................................................... 41

1.9.2 Ausgabe in Zelle .............................................................................................. 42

1.9.3 Ausgabe in Nachrichtenbox .......................................................................... 43

1.9.4 Ausgabe im Direktfenster des VBEs .............................................................. 44

1.10 Arbeiten mit Excel vor der Version 2007 ................................................................. 45

1.10.1 Makro aufzeichnen ......................................................................................... 45

1.10.2 Makro ausführen ............................................................................................ 46

1.10.3 Makro ansehen ................................................................................................ 46

Page 4: Einstieg in VBA mit Excel - Amazon S3

Inhalt

6

1.10.4 Makro speichern ............................................................................................. 46

1.10.5 Makrosicherheit .............................................................................................. 47

1.10.6 Symbolleiste »Visual Basic« ........................................................................... 47

1.10.7 Entwicklungsumgebung Visual Basic Editor ............................................... 47

1.10.8 Persönliche Makroarbeitsmappe .................................................................. 48

2 Grundlagen von Objekten und Ereignissen 49

2.1 Objekthierarchie und Auflistungen ......................................................................... 49

2.2 Arbeitsmappen ............................................................................................................. 50

2.2.1 Anzahl Arbeitsmappen ermitteln ................................................................. 51

2.2.2 Neue Arbeitsmappe erzeugen ....................................................................... 51

2.2.3 Vorhandene Arbeitsmappe öffnen ............................................................... 52

2.2.4 Alle Arbeitsmappen schließen ....................................................................... 53

2.2.5 Name einer Arbeitsmappe ermitteln ........................................................... 53

2.2.6 Aktive Arbeitsmappe ...................................................................................... 54

2.2.7 Arbeitsmappe aktivieren ................................................................................ 56

2.2.8 Arbeitsmappe speichern ................................................................................ 56

2.2.9 Arbeitsmappe über Index oder Name auswählen ...................................... 57

2.2.10 Pfad einer Arbeitsmappe ermitteln .............................................................. 58

2.3 Tabellenblätter ............................................................................................................. 60

2.3.1 Tabellenblatt erzeugen .................................................................................. 60

2.3.2 Tabellenblatt kopieren ................................................................................... 61

2.3.3 Tabellenblatt verschieben .............................................................................. 62

2.3.4 Tabellenblatt löschen ..................................................................................... 63

2.3.5 Tabellenblatt aktivieren ................................................................................. 64

2.3.6 Tabellenblatt formatieren ............................................................................. 64

2.3.7 Gitternetz, Zeilen- und Spaltenüberschrift .................................................. 65

2.3.8 Seiteneinrichtung ........................................................................................... 66

2.4 Zellen und Zellbereiche ............................................................................................... 68

2.4.1 Zellen über »Range« auswählen ................................................................... 68

2.4.2 Zellen über »Cells« auswählen ...................................................................... 71

2.4.3 Zellinhalte verschieben oder kopieren ......................................................... 72

2.4.4 Teile von Zellinhalten kopieren ..................................................................... 73

2.4.5 Zellinhalt löschen ............................................................................................ 74

2.4.6 Werte und Formeln eintragen ....................................................................... 76

Page 5: Einstieg in VBA mit Excel - Amazon S3

Inhalt

7

2.4.7 Zellformat »Zahlen« ....................................................................................... 77

2.4.8 Zellformat »Ausrichtung« .............................................................................. 79

2.4.9 Zellformat »Schrift« ........................................................................................ 80

2.4.10 Einzelne Zeichen formatieren ....................................................................... 81

2.4.11 Zellformat »Rahmen« ..................................................................................... 83

2.4.12 Zellformat »Muster« ....................................................................................... 84

2.4.13 Zellen einfügen ............................................................................................... 85

2.4.14 Zellen löschen .................................................................................................. 86

2.4.15 Zeilenhöhe und Spaltenbreite ....................................................................... 87

2.4.16 Benutzten Zellbereich erkennen ................................................................... 88

2.4.17 Spezielle Zellen erkennen .............................................................................. 89

2.4.18 Versatz mit Offset ........................................................................................... 91

2.4.19 Zellbereich sortieren ....................................................................................... 94

2.5 Ereignisprozeduren ...................................................................................................... 97

2.5.1 Arbeitsmappe wird geöffnet ......................................................................... 97

2.5.2 Arbeitsmappe wird geschlossen ................................................................... 98

2.5.3 Tabellenblatt wird aktiviert ........................................................................... 99

2.5.4 Zellauswahl wechselt ..................................................................................... 99

2.5.5 Doppelklick auf Zelle ...................................................................................... 100

2.5.6 Tabellenblatt wurde neu berechnet ............................................................. 101

3 Grundlagen der Programmierung mit VBA 103

3.1 Allgemeines ................................................................................................................... 103

3.1.1 Codeblöcke auskommentieren ...................................................................... 104

3.1.2 Zeilen zerlegen ................................................................................................ 105

3.2 Variablen und Datentypen ......................................................................................... 106

3.2.1 Namen, Werte ................................................................................................. 106

3.2.2 Deklarationen .................................................................................................. 106

3.2.3 Datentypen ...................................................................................................... 107

3.2.4 Konstanten ...................................................................................................... 111

3.3 Operatoren .................................................................................................................... 113

3.3.1 Arithmetische Operatoren ............................................................................. 113

3.3.2 Vergleichsoperatoren ..................................................................................... 117

3.3.3 Logische Operatoren ....................................................................................... 120

Page 6: Einstieg in VBA mit Excel - Amazon S3

Inhalt

8

3.3.4 Verkettungsoperator ...................................................................................... 121

3.3.5 Rangfolge der Operatoren ............................................................................. 122

3.4 Verzweigungen ............................................................................................................. 124

3.4.1 Einzeiliges If ... Then ... Else ............................................................................. 124

3.4.2 If-Then-Else-Block ........................................................................................... 125

3.4.3 Select Case ....................................................................................................... 127

3.5 Schleifen ......................................................................................................................... 129

3.5.1 For-Next-Schleife ............................................................................................ 130

3.5.2 Do-Loop-Schleife ............................................................................................. 133

4 Fehlerbehandlung 139

4.1 Syntaxfehler .................................................................................................................. 139

4.2 Laufzeitfehler ................................................................................................................ 140

4.2.1 Programm mit Laufzeitfehlern ...................................................................... 140

4.2.2 Abfangen mit On Error ................................................................................... 142

4.3 Logische Fehler und Debugging ................................................................................ 144

4.3.1 Einzelschrittverfahren .................................................................................... 144

4.3.2 Haltepunkte ..................................................................................................... 146

5 Mehr über die Programmierung mit VBA 147

5.1 Gültigkeitsbereiche ..................................................................................................... 147

5.2 Datenfelder ................................................................................................................... 149

5.2.1 Eindimensionale Datenfelder ........................................................................ 150

5.2.2 Mehrdimensionale Datenfelder .................................................................... 152

5.2.3 Dynamische Datenfelder ............................................................................... 155

5.2.4 Datenfelder löschen oder freigeben ............................................................. 157

5.3 Prozeduren und Funktionen ...................................................................................... 159

5.3.1 Prozeduren ....................................................................................................... 160

5.3.2 Übergabe von Parametern ............................................................................. 163

Page 7: Einstieg in VBA mit Excel - Amazon S3

Inhalt

9

5.3.3 Funktionen ....................................................................................................... 164

5.3.4 Optionale Parameter ...................................................................................... 168

5.3.5 Benannte Parameter ...................................................................................... 170

5.3.6 Beliebig viele Parameter ................................................................................. 172

5.3.7 Datenfelder als Parameter ............................................................................. 174

5.4 Benutzerdefinierter Datentyp ................................................................................... 176

5.5 Modular programmieren ............................................................................................ 179

5.5.1 Code in der gleichen Datei ............................................................................. 179

5.5.2 Code in einer anderen Datei .......................................................................... 180

5.6 Module exportieren und importieren ...................................................................... 182

5.6.1 Export eines Moduls ....................................................................................... 183

5.6.2 Import eines Moduls ....................................................................................... 184

6 Mehr über Objekte 185

6.1 Objektkatalog ............................................................................................................... 185

6.2 Referenzierung von Objekten ................................................................................... 186

6.2.1 Beispiel »Zellen verschieben« ........................................................................ 187

6.3 Objektzugriff mit With ............................................................................................... 188

6.4 Arbeiten mit Objektvariablen ................................................................................... 190

6.4.1 Objektvariablen hierarchisch zuweisen ....................................................... 191

6.4.2 Neue Objekte erzeugen .................................................................................. 192

6.4.3 Objekttyp ermitteln ........................................................................................ 193

6.5 For-Each-Schleife .......................................................................................................... 194

6.6 Collections ..................................................................................................................... 196

6.7 Hauptobjekt »Application« ........................................................................................ 198

6.7.1 Anwendungspfad ausgeben .......................................................................... 198

6.7.2 Prozedur zeitverzögert aufrufen ................................................................... 198

6.7.3 Anwendung Microsoft Excel schließen ........................................................ 199

6.8 Filtern .............................................................................................................................. 200

Page 8: Einstieg in VBA mit Excel - Amazon S3

Inhalt

10

7 Diagramme und Grafiken 205

7.1 Diagramm erstellen ..................................................................................................... 206

7.1.1 Diagrammblatt erstellen ............................................................................... 206

7.1.2 Eingebettetes Diagramm erstellen ............................................................... 208

7.2 Diagramm ändern ........................................................................................................ 210

7.2.1 Diagrammblatt ändern .................................................................................. 210

7.2.2 Eingebettetes Diagramm ändern .................................................................. 215

7.3 Diagramm verwalten .................................................................................................. 215

7.3.1 Diagrammblatt verwalten ............................................................................. 216

7.3.2 Eingebettetes Diagramm verwalten ............................................................ 217

7.4 Beispiel: Formatiertes Kreisdiagramm .................................................................... 219

7.5 Shapes ............................................................................................................................. 222

7.5.1 Rechteck ........................................................................................................... 223

7.5.2 Oval ................................................................................................................... 224

7.5.3 Linie .................................................................................................................. 225

7.5.4 Verbinder ......................................................................................................... 226

7.5.5 Freiform ............................................................................................................ 228

7.5.6 Alle Formen ...................................................................................................... 231

7.6 WordArt .......................................................................................................................... 234

7.7 Bedingte Formatierungen .......................................................................................... 236

7.7.1 Datenbalken .................................................................................................... 236

7.7.2 Zweifarbige Farbskala .................................................................................... 237

7.7.3 Dreifarbige Farbskala ..................................................................................... 239

7.7.4 Symbolsatz ...................................................................................................... 240

7.8 Sparklines ....................................................................................................................... 243

7.8.1 Linie .................................................................................................................. 243

7.8.2 Spalte ................................................................................................................ 244

7.8.3 Gewinn-/Verlustanzeige ................................................................................ 244

7.8.4 Formatierung ................................................................................................... 245

7.8.5 Alle Farben ....................................................................................................... 246

7.9 SmartArt ......................................................................................................................... 247

Page 9: Einstieg in VBA mit Excel - Amazon S3

Inhalt

11

8 VBA- und Worksheet-Funktionen 249

8.1 Formeln zuweisen und lesen ..................................................................................... 250

8.1.1 Formeln zuweisen ........................................................................................... 251

8.1.2 Formeln lesen .................................................................................................. 252

8.2 Eingaben des Benutzers .............................................................................................. 253

8.2.1 Funktion »InputBox« ...................................................................................... 253

8.2.2 Methode »Application.InputBox« ................................................................. 254

8.3 Einfacher Dialog mit dem Benutzer ......................................................................... 258

8.3.1 Button »OK« .................................................................................................... 259

8.3.2 Buttons – eine Übersicht ................................................................................ 259

8.3.3 Zeichen »Information« ................................................................................... 261

8.3.4 Systemmodal ................................................................................................... 261

8.3.5 Buttons »Ja« und »Nein« ............................................................................... 262

8.3.6 Drei Buttons, Default-Button ........................................................................ 263

8.3.7 Buttons »Wiederholen« und »Abbrechen« .................................................. 264

8.3.8 Buttons »Abbrechen«, »Wiederholen« und »Ignorieren« .......................... 265

8.4 Zeichenketten ............................................................................................................... 266

8.4.1 Zeichenketten umwandeln ............................................................................ 268

8.4.2 Ausgabeformatierung .................................................................................... 270

8.4.3 Datensätze zusammenfügen ........................................................................ 272

8.4.4 Datensätze zerlegen ....................................................................................... 273

8.5 Datum und Uhrzeit ...................................................................................................... 274

8.5.1 Zeitintervall addieren ..................................................................................... 275

8.5.2 Zeitdifferenz berechnen ................................................................................. 276

8.5.3 Datumsangaben erstellen, Wochentage markieren ................................... 276

8.5.4 Jahreskalender ................................................................................................ 278

8.5.5 ISO-Kalenderwoche ........................................................................................ 281

8.5.6 Arbeitstage berechnen ................................................................................... 281

8.6 Weitere Funktionen ..................................................................................................... 284

8.6.1 Anwendung unterbrechen ............................................................................. 284

8.6.2 Einheitenumrechnung ................................................................................... 285

8.6.3 Zahlensystemumrechnung ............................................................................ 287

8.6.4 Zellen zählen ................................................................................................... 288

8.6.5 Webfunktionen ............................................................................................... 289

Page 10: Einstieg in VBA mit Excel - Amazon S3

Inhalt

12

8.6.6 Größte und kleinste Werte finden ................................................................ 292

8.6.7 Runden ............................................................................................................. 293

8.6.8 Römische und arabische Zahlen ................................................................... 294

9 Externe Daten 295

9.1 Textdateien, Import und Export ............................................................................... 295

9.1.1 Lesen aus Textdateien .................................................................................... 295

9.1.2 Import von Datensätzen ................................................................................ 297

9.1.3 Schreiben in Textdateien ............................................................................... 300

9.1.4 Export von Datensätzen ................................................................................. 301

9.2 Arbeiten mit Dateien ................................................................................................... 303

9.2.1 Dateien suchen und auflisten ....................................................................... 303

9.2.2 Informationen über Dateien .......................................................................... 305

9.2.3 Operationen mit Dateien ............................................................................... 307

9.3 Austausch mit Microsoft Word ................................................................................. 309

9.3.1 Objektmodell von Word ................................................................................. 309

9.3.2 Import von Absätzen aus Word ..................................................................... 311

9.3.3 Import von Tabellen aus Word ...................................................................... 313

9.3.4 Export zu Word, Erstellen von Absätzen ...................................................... 315

9.3.5 Export zu Word, Erstellen von Tabellen ........................................................ 316

9.4 Austausch mit Microsoft Outlook ............................................................................. 319

9.4.1 Objektmodell von Outlook ............................................................................. 319

9.4.2 Einfaches Versenden einer Arbeitsmappe ................................................... 321

9.4.3 Integriertes E-Mail-Dialogfeld ....................................................................... 323

9.4.4 Zusammensetzen einer E-Mail ...................................................................... 324

9.4.5 Erstellen einer Serien-E-Mail ......................................................................... 326

9.4.6 Bestimmten Bereich in E-Mail versenden .................................................... 328

9.4.7 Zugriff auf Outlook-Verzeichnis .................................................................... 330

9.4.8 Zugriff auf E-Mail-Anhänge ........................................................................... 332

9.4.9 Zugriff auf Kontakte ....................................................................................... 335

9.4.10 Kontakt erzeugen ............................................................................................ 336

9.4.11 Termin erzeugen ............................................................................................. 337

9.4.12 Terminserie erzeugen ..................................................................................... 339

Page 11: Einstieg in VBA mit Excel - Amazon S3

Inhalt

13

9.5 Austausch mit Microsoft Access ................................................................................ 341

9.5.1 Beispieldatenbank: Aufbau ........................................................................... 341

9.5.2 Beispieldatenbank: Verbindung herstellen ................................................. 342

9.5.3 SQL-Befehle ..................................................................................................... 343

9.5.4 Beispieldatenbank: Auswahlabfrage ............................................................ 344

9.5.5 Beispieldatenbank: Aktionsabfrage .............................................................. 346

9.5.6 SQL: Auswahlabfragen mit SELECT ............................................................... 348

9.5.7 SQL: Operatoren .............................................................................................. 350

9.5.8 SQL: Abfrageergebnis sortieren ..................................................................... 352

9.5.9 SQL: Auswahlabfragen zur Suche nach Eingabe ......................................... 353

9.5.10 SQL: Aktionsabfrage zum Ändern mit UPDATE ........................................... 355

9.5.11 SQL: Aktionsabfrage zum Einfügen mit INSERT .......................................... 357

9.5.12 SQL: Aktionsabfrage zum Löschen mit DELETE ........................................... 357

10 Dialogfelder 359

10.1 Integrierte Dialogfelder .............................................................................................. 359

10.1.1 Datei öffnen ..................................................................................................... 360

10.1.2 Datei speichern unter ..................................................................................... 361

10.1.3 Hintergrundmuster für Zellbereich auswählen .......................................... 362

10.1.4 Schriftformatierung für Zellbereich auswählen .......................................... 362

10.2 Eigene Dialogfelder und Anwendungen ................................................................. 363

10.2.1 Ein erstes Beispiel ............................................................................................ 363

10.2.2 Erstes Beispiel: Gestaltung ............................................................................ 364

10.2.3 Erstes Beispiel: Code ....................................................................................... 365

10.2.4 Erstes Beispiel: Starten ................................................................................... 367

10.2.5 Arbeiten mit Steuerelementen ..................................................................... 368

10.2.6 Textfeld und Bezeichnungsfeld ..................................................................... 369

10.2.7 Optionsschaltflächen und Kontrollkästchen ............................................... 372

10.2.8 Liste, Bildlaufleiste und Drehfeld .................................................................. 376

10.2.9 Ausgabeformatierung .................................................................................... 379

10.2.10 RefEdit und Umschaltfeld .............................................................................. 381

Page 12: Einstieg in VBA mit Excel - Amazon S3

Inhalt

14

11 Beispielprojekte 385

11.1 Memory .......................................................................................................................... 385

11.1.1 Spielablauf ....................................................................................................... 385

11.1.2 Aufbau des Spielfeldes ................................................................................... 387

11.1.3 Starten des Spiels ............................................................................................ 388

11.1.4 Bedienung des Spiels ...................................................................................... 391

11.2 Snake .............................................................................................................................. 395

11.2.1 Spielablauf ....................................................................................................... 396

11.2.2 Aufbau des Spielfeldes ................................................................................... 397

11.2.3 Starten des Spiels ............................................................................................ 399

11.2.4 Bedienung des Spiels ...................................................................................... 404

11.3 Vokabeln ........................................................................................................................ 405

11.3.1 Programmablauf ............................................................................................. 406

11.3.2 Aufbau der Vokabelsammlung ..................................................................... 407

11.3.3 Starten des Spiels ............................................................................................ 408

Anhang 415

A Lösungen ........................................................................................................................ 415

B Der Autor ........................................................................................................................ 425

Index .......................................................................................................................................... 427

Page 13: Einstieg in VBA mit Excel - Amazon S3

17

Kapitel 1

Einführung

In diesem Kapitel lernen Sie erste VBA-Makros kennen. Sie erfahren, wie sie

aufgebaut sind und wie man sie verändern kann. Außerdem wird die Ent-

wicklungsumgebung für VBA erläutert.

VBADie Abkürzung VBA steht für Visual Basic for Applications. Es handelt sich

dabei um die Programmiersprache Visual Basic, mit speziellen Ergänzun-

gen für die verschiedenen Anwendungen in Microsoft Office.

Mit Microsoft Excel können sehr viele alltägliche Aufgaben im beruflichen

und privaten Bereich bereits gut bewältigt werden. Es gibt jedoch

� Aufgaben, die man nur durch zusätzliche Programmierung mit VBA

lösen kann, und

� Probleme, die durch zusätzliche Programmierung mit VBA schneller ge-

löst werden können.

In diesem Buch werden Sie anhand von leicht verständlichen Beispielen

erlernen, wie man VBA als Ergänzung zu Excel sinnvoll einsetzt. Eigene

Übungen (mit den Lösungen im Anhang) dienen dazu, Ihren Wissensstand

zu testen.

Für die Hilfe bei der Erstellung dieses Buches bedanke ich mich beim gan-

zen Team von Galileo Press, ganz besonders bei Anne Scheibe.

1.1 Was wird besser durch Makros und VBA?

MakroEin einfaches Makro ist nur eine Reihe von Anweisungen, die nacheinander

ausgeführt werden. Durch eine solche Anweisung wird in Excel ein

bestimmter Vorgang ausgeführt, z.B. eine Zahl in eine Tabellenzelle

geschrieben. Die Anweisungen sind in der Sprache VBA geschrieben. VBA-

Programme können weit über einfache Makros hinausgehen und kom-

plexe Abläufe steuern.

Page 14: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

18

In der Praxis sieht es häufig so aus, dass es zwei Gruppen von Anwendern

gibt:

Entwickler � Entwickler, also erfahrene Excel-Anwender, die sich mit der Entwicklung

von komplexen Excel-Anwendungen befassen

Benutzer � Benutzer, also Einsteiger in Excel, die sich nur mit einfachen Themen,

z.B. der Dateneingabe und dem Aufruf der Excel-Anwendungen, be-

fassen

Die Entwickler sind die Auftragnehmer der Benutzer. Die Entwicklung kann

in einer anderen Abteilung des gleichen Unternehmens stattfinden. Es

kann sich aber auch um externe, eingekaufte Excel-Anwendungen han-

deln.

Schneller Eine schnellere Problemlösung durch VBA ergibt sich, weil

� der Entwickler durch die Programmierung mit VBA schneller mit der

Entwicklung seiner Excel-Anwendung fertig sein kann,

� die Ergebnisse für den Benutzer schneller berechnet werden können.

Es folgen einige typische Szenarien, die Ihnen zeigen sollen, wozu man VBA

nutzen kann und welche Vorteile sich daraus ergeben:

Große Daten-mengen

� Es sollen große Mengen an Daten aus einer Textdatei eingelesen werden.

Nur der Aufbau der Daten ist bekannt, nicht aber die Menge. Außerdem

sollen, abhängig vom aktuellen Inhalt der Textdatei, nur bestimmte

Daten gelesen werden. Nach dem Einlesen sollen die Daten verarbeitet,

formatiert, zusammengefasst und zur Verdeutlichung grafisch darge-

stellt werden.

Diagramme � Es soll ein Diagramm aus einer Tabelle erstellt werden. Die aktuelle

Größe und der Inhalt der Tabelle sollen die Art des Diagramms und seine

Darstellung bestimmen.

Dialogfelder � Der Benutzer soll nach Aufruf der Excel-Anwendung ein Dialogfeld vor

sich haben. Darin nimmt er, abhängig von der aktuellen Situation,

bestimmte Einstellungen vor, trifft die gewünschte Auswahl der Daten

und startet dann deren weitere Verarbeitung.

WiederkehrendeDaten

� Es ergeben sich regelmäßig (z.B. jede Woche oder jeden Monat) Daten,

die auf ähnliche (nicht identische) Art und Weise weiterverarbeitet wer-

den müssen.

Page 15: Einstieg in VBA mit Excel - Amazon S3

1.2 MS Office 2013

19

Schrittweise Bearbeitung

� Die Verarbeitung bestimmter Daten ist komplex und muss in mehreren

Schritten erfolgen. Mit VBA kann man die Koordination und die Durch-

führung der einzelnen Schritte vereinfachen.

Excel anpassen� Dem Benutzer sollen nach Aufruf von Excel nur bestimmte Funktionali-

täten zur Verfügung stehen. Sein Excel kann durch VBA gleichzeitig

– eingeschränkt werden, wodurch es im Idealfall zu weniger Fehlbedie-

nungen kommt, und

– erweitert werden, wodurch ihm spezielle Funktionen und Abläufe zur

Verfügung stehen, die über Excel hinausgehen.

Anwendungen erweitern

� Es sollen bereits vorhandene (von anderen Entwicklern im Unterneh-

men erstellte oder eingekaufte) Excel-Anwendungen geändert werden.

Diese werden zur Bewältigung der laufenden Geschäftsprozesse bereits

regelmäßig eingesetzt. Da sich diese Prozesse geändert haben, müssen

auch die Excel-Anwendungen erweitert und angepasst werden.

In diesem Buch sollen verschiedene Möglichkeiten zur Problemlösung mit

VBA anhand von Beispielen aus der Praxis gezeigt werden. Es erhebt nicht

den Anspruch, alle Bestandteile von VBA (also alle Objekte der Objektbib-

liothek mit all ihren Eigenschaften und Methoden) aufzulisten und zu

erläutern. Dazu gibt es zu viele, und Sie würden schnell den Überblick ver-

lieren. Es wird jedoch eine umfangreiche Auswahl getroffen, die es Ihnen

ermöglicht, selbstständig mit VBA zu arbeiten.

Verständliche Beispiele

Bei den Beispielen im Buch wird eher Wert auf Verständlichkeit als auf

Komplexität gelegt. Sie sollen schnell den aktuell neuen Aspekt der Pro-

grammierung verstehen und nicht durch umfangreiche, komplizierte Bei-

spiele verwirrt werden, in denen sich nur eine kleine Neuigkeit verbirgt.

1.2 MS Office 2013

Das Paket MS Office 2013 setzt als Betriebssystem mindestens Windows 7

voraus. Für dieses Buch und die darin gezeigten Abbildungen wurde

MS Office 2013 unter Windows 8 eingesetzt.

MS Office 2013-Dateien können mit Web-Apps aus dem Office Store erwei-

tert werden. Diese Web-Apps haben Zugriff auf die Daten innerhalb einer

Office-Datei. Entwickler können diese Web-Apps mithilfe von Webtechni-

ken (HTML, JavaScript, jQuery, CSS ...) programmieren und im Office Store

Page 16: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

20

anbieten. In diesem Buch wird nur die Entwicklung von Anwendungen mit-

hilfe von VBA beschrieben.

1.3 Arbeiten mit Makros

Zu Beginn erstellen wir ein einfaches Makro. Dieses Makro soll anschlie-

ßend ausgeführt werden. Hinterher betrachten wir den Code, um einen ers-

ten Blick auf VBA werfen zu können.

SchädlicheMakros

Das Thema Makrosicherheit, also die Sicherheit vor fremden Makros, die

schädlichen Code enthalten können, spielt eine große Rolle. Diese Thema-

tik wird in Abschnitt 1.3.5, »Makrosicherheit ändern«, erläutert.

Excel-Dateien können seit Excel 2007 sowohl mit als auch ohne Makros

gespeichert werden. Darauf wird in Abschnitt 1.3.4, »Makro speichern«, ein-

gegangen.

Die in diesem Kapitel erläuterte Bedienung gilt für Excel 2013. Unter Excel

2010 bzw. Excel 2007 gibt es jeweils leichte Abweichungen in der Bedie-

nung, darauf wird an den entsprechenden Stellen jeweils gesondert hinge-

wiesen. In den Excel-Versionen vor Excel 2007 gibt es größere Abweichun-

gen in der Bedienung, die in einem eigenen Abschnitt (1.10, »Arbeiten mit

Excel vor der Version 2007«) erläutert werden.

Die weitaus meisten Beispiele in diesem Buch laufen auch unter den älte-

ren Excel-Versionen. Falls einzelne Beispiele anders oder gar nicht laufen,

wird dies an der betreffenden Stelle erläutert. Sämtliche Beispiele finden Sie

– getrennt für die Versionen vor und ab 2007 – auch auf der Buch-CD.

1.3.1 Makro aufzeichnen

Mithilfe der folgenden Beschreibung erstellen Sie ein Makro, um den Inhalt

der Zelle A1 in die Zelle C1 zu verschieben. Dazu benötigt man natürlich kein

VBA, es dient aber der ersten Verdeutlichung der Abläufe.

Makro erstellen Nun geht es los:

1. Starten Sie Excel 2013.

2. Sie haben eine leere Arbeitsmappe (Mappe1) vor sich. Tragen Sie in der

Zelle A1 einen beliebigen Inhalt (Zahl oder Text) ein (siehe Abbildung 1.1).

Page 17: Einstieg in VBA mit Excel - Amazon S3

1.3 Arbeiten mit Makros

21

3. Klappen Sie das Menü über den nach unten weisenden Pfeil am Button

Makros auf der Registerkarte Ansicht auf.

4. Wählen Sie den Menüpunkt Makro aufzeichnen. Es erscheint das Dia-

logfeld Makro aufzeichnen (siehe Abbildung 1.2).

5. Der vorgeschlagene Makroname lautet Makro1, diesen können Sie bei-

behalten.

6. Betätigen Sie den Button OK. Ab jetzt werden alle Aktionen, die Sie aus-

führen, aufgezeichnet.

7. Wählen Sie die Zelle A1 aus.

8. Schneiden Sie die Zelle A1 aus.

9. Wählen Sie die Zelle C1 aus.

Abbildung 1.1 Zelle, deren Inhalt verschoben werden soll

Abbildung 1.2 Makro mit dem Namen »Makro1«

Page 18: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

22

10. Fügen Sie die Zelle A1 ein.

Aufzeichnungbeginnt

11. Der Inhalt der Zelle A1 wurde nach C1 verschoben (siehe Abbildung 1.3).

12. Klappen Sie wiederum das Menü über den Pfeil am Button Makros in

der Registerkarte Ansicht auf.

13. Wählen Sie den Menüpunkt Aufzeichnung beenden. Damit wird die

Aufzeichnung Ihrer Aktionen beendet.

14. Hinweis: Speichern Sie die Datei an dieser Stelle noch nicht.

Sie haben damit soeben Ihr erstes Makro erfolgreich erstellt.

Symbol zumAufzeichnen

Das Aufzeichnen geht etwas schneller, wenn Sie in der Excel-Oberfläche das

entsprechende Symbol in der Statusleiste betätigen (siehe Abbildung 1.4).

Nach Beginn der Aufzeichnung erscheint an der gleichen Stelle das Symbol

zum Beenden der Aufzeichnung in der Statusleiste (siehe Abbildung 1.5).

Abbildung 1.3 Zellen nach der Verschiebung

Abbildung 1.4 Symbol zum Starten einer Makro-Aufzeichnung

Abbildung 1.5 Symbol zum Beenden einer Makro-Aufzeichnung

Page 19: Einstieg in VBA mit Excel - Amazon S3

1.3 Arbeiten mit Makros

23

Übung 1 A

Tragen Sie eine Zahl oder einen Text in die Zelle E3 ein. Zeichnen Sie ein

Makro auf, das den Inhalt der Zelle E3 in die Zelle E5 kopiert. Nennen Sie

das Makro KopieE3E5.

1.3.2 Makro ausführen

Makro startenDas soeben erstellte Makro soll nun ausgeführt werden. Gehen Sie dazu wie

folgt vor:

1. Tragen Sie in der Zelle A1 einen beliebigen Inhalt ein (Zahl oder Text).

2. Klappen Sie das Menü über den Pfeil unten am Button Makros auf der

Registerkarte Ansicht auf.

3. Wählen Sie den Menüpunkt Makros anzeigen.

4. Es erscheint das Dialogfeld Makro mit einer Liste der bisher erstellten

Makros. Wählen Sie in der Liste das Makro Makro1 aus.

5. Betätigen Sie den Button Ausführen.

6. Der Inhalt der Zelle A1 wurde wiederum nach C1 verschoben.

Damit haben Sie Ihr erstes Makro dann auch erfolgreich ausgeführt.

Übung 1 B

Tragen Sie einen neuen Inhalt in die Zelle E3 ein. Führen Sie das Makro

KopieE3E5 aus, und überprüfen Sie das Ergebnis auf Richtigkeit.

Name des Makros

Hinweis

Ein Makro sollte einen möglichst sprechenden Namen haben, der etwas

über seine Arbeitsweise aussagt. Es kann dann beim Aufruf leichter aus

der Liste der Makros ausgewählt werden.

1.3.3 Makro ansehen

VBA-CodeSie können sich den VBA-Code des soeben erstellten Makros ansehen, um

einen ersten Eindruck von typischem VBA zu erhalten. Gehen Sie dazu wie

folgt vor:

1. Klappen Sie das Menü über den Pfeil am Button Makros in der Register-

karte Ansicht auf.

Page 20: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

24

2. Wählen Sie den Menüpunkt Makros anzeigen.

3. Es erscheint das Dialogfeld Makro mit einer Liste der bisher erstellten

Makros. Wählen Sie in der Liste das Makro Makro1 aus.

4. Betätigen Sie den Button Bearbeiten.

Visual BasicEditor

Es erscheint der Visual Basic Editor (VBE), die eigentliche Entwicklungsum-

gebung. Auf seine einzelnen Elemente wird in Abschnitt 1.4, »Entwicklungs-

umgebung ›Visual Basic Editor‹«, eingegangen. Zunächst ist im rechten

Fenster der Code des Makros zu sehen (siehe Abbildung 1.6).

Es folgt eine kurze Erläuterung der einzelnen Zeilen. Es macht nichts, wenn

Sie noch nicht alles genau verstehen, die einzelnen Code-Elemente werden

später noch ausführlicher erläutert.

Sub ... End Sub � Der Code des Makros Makro1 ist innerhalb einer Sub-Prozedur zwischen

Sub und End Sub notiert.

Kommentar � Ein Apostroph dient dazu, eine ganze Zeile bzw. den Rest einer Zeile zu

einem Kommentar zu machen. Der Text hinter einem Apostroph dient

nur der Erläuterung des VBA-Codes. Er wird nicht ausgeführt.

� Range("A1").Select bedeutet: Es wird die Zelle A1 ausgewählt.

Cut � Selection.Cut bedeutet: Der Inhalt der aktuellen Auswahl, also der

Inhalt der Zelle A1, wird ausgeschnitten und befindet sich anschließend

in der Zwischenablage.

Abbildung 1.6 VBA-Code des Makros »Makro1«

Page 21: Einstieg in VBA mit Excel - Amazon S3

1.3 Arbeiten mit Makros

25

� Range("C1").Select bedeutet: Die Zelle C1 wird ausgewählt, siehe oben.

Paste� ActiveSheet.Paste bedeutet: Der Inhalt der Zwischenablage wird in das

aktuell aktive Tabellenblatt eingefügt.

Der Inhalt der Zelle A1 wurde nach C1 verschoben.

Übung 1 C

Interpretieren Sie den VBA-Code des Makros KopieE3E5:

Sub KopieE3E5()Range("E3").SelectSelection.CopyRange("E5").SelectActiveSheet.Paste

End Sub

Listing 1.1 Sub KopieE3E5 in Mappe1.xlsm, Modul 2

Schließen Sie den Visual Basic Editor über das Menü Datei • Schliessen

und zurück zu Microsoft Excel. Es erscheint die Excel-Oberfläche.

1.3.4 Makro speichern

Excel-Dateien können seit Excel 2007 sowohl mit Makros als auch ohne

Makros gespeichert werden.

Dateiendung xlsxRufen Sie in Excel 2013 das Menü Datei auf und darin den Menüpunkt

Speichern. Auf der rechten Seite wählen Sie nacheinander die Buttons

Computer und Durchsuchen. Es erscheint das Dialogfeld Speichern

unter.

In Excel 2010 erscheint das Dialogfeld Speichern unter direkt nach Aus-

wahl des Menüpunktes Speichern im Menü Datei. In Excel 2007 er-

scheint das Dialogfeld Speichern unter nach Auswahl der Schaltfläche

Office und des Menüpunktes Speichern.

Als Dateityp ist im Dialogfeld Speichern unter angegeben: Excel-

Arbeitsmappe mit der Dateiendung .xlsx (siehe Abbildung 1.7).

Falls Sie nun den Button Speichern betätigen, erscheint der Hinweis, dass

die in dieser Datei enthaltenen Makros bei diesem Dateityp nicht mitge-

speichert werden (siehe Abbildung 1.8). Sie würden also verloren gehen.

Page 22: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

26

Dateiendung xlsm Zur Speicherung mit Makros sollten Sie daher den Button Nein betätigen,

im Dialogfeld Speichern unter als Dateityp die Option Excel-Arbeits-

mappe mit Makros mit der Dateiendung .xlsm auswählen und anschlie-

ßend mit dem gewünschten Namen im gewünschten Verzeichnis

speichern, z.B. C:\Temp\Mappe1.xlsm (siehe Abbildung 1.9).

Nachdem die Datei erfolgreich mit Makros gespeichert wurde, können Sie

Excel jetzt schließen.

1.3.5 Makrosicherheit ändern

Starten Sie Excel erneut. Falls Sie nun die soeben gespeicherte Datei erneut

öffnen, stoßen Sie unweigerlich auf das Thema Makrosicherheit. Was

bedeutet das?

Sicherheits-warnung

Excel 2013 (wie auch die Vorgängerversionen) möchte Sie davor bewahren,

möglicherweise schädlichen VBA-Code auszuführen. Unterhalb der Multi-

Abbildung 1.7 Speichern als Arbeitsmappe ohne Makros

Abbildung 1.8 Warnung, dass enthaltene Makros nicht mitgespeichert werden

Abbildung 1.9 Speichern als Arbeitsmappe mit Makros

Page 23: Einstieg in VBA mit Excel - Amazon S3

1.3 Arbeiten mit Makros

27

funktionsleiste erscheint daher eine Sicherheitswarnung mit dem Hinweis,

dass die in dieser Datei enthaltenen Makros deaktiviert wurden (siehe

Abbildung 1.10).

Makros deaktiviert

Diese Reaktion erfolgt aufgrund der folgenden Standardeinstellung für die

Makrosicherheit in Excel: Alle Makros mit Benachrichtigung deaktivieren.

Falls Sie versuchen, ein Makro auszuführen, erscheint die Information, dass

dies nicht möglich ist (siehe Abbildung 1.11).

Aktivieren von Makros

Abbildung 1.11 Hinweis: Makro-Ausführung nicht möglich

Sie haben die Möglichkeit, die in dieser Datei enthaltenen Makros zu akti-

vieren. Damit wird seit Excel 2010 die Datei in die Liste der vertrauenswür-

digen Dokumente aufgenommen, unter Excel 2007 werden die Makros in

dieser Datei einmalig aktiviert. Dazu führen Sie Folgendes durch:

1. Schließen Sie die Datei.

2. Öffnen Sie sie erneut.

3. Unter Excel 2013 bzw. 2010 betätigen Sie den Button Inhalt aktivie-

ren (neben der Sicherheitswarnung, siehe Abbildung 1.10).

4. Unter Excel 2007 betätigen Sie den Button Optionen und wählen

anschließend die Option Diesen Inhalt aktivieren.

Abbildung 1.10 Sicherheitswarnung »Makros wurden deaktiviert.«

Page 24: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

28

Anschließend verschwindet die Sicherheitswarnung, und Sie können

Makros ausführen. Unter Excel 2007 erscheint die Sicherheitswarnung

allerdings beim nächsten Öffnen der Datei wieder. Man kann auch alle

Excel-Dateien in einem Verzeichnis für dauerhaft vertrauenswürdig erklä-

ren, siehe Abschnitt 1.3.7, »Makrosicherheit dauerhaft ändern«.

1.3.6 Registerkarte »Entwicklertools«

Excel-Optionen Die Registerkarte Entwicklertools bietet weitergehende Möglichkeiten

zur Erstellung und Verwaltung von Makros. Daher sollten Sie sie dauerhaft

in Excel einblenden.

Unter Excel 2013 und Excel 2010 rufen Sie dazu das Menü Datei auf und be-

tätigen die Schaltfläche Optionen. Im Dialogfeld Excel-Optionen betäti-

gen Sie die Schaltfläche Menüband anpassen. Auf der rechten Seite mar-

kieren Sie die Hauptregisterkarte Entwicklertools (siehe Abbildung 1.12).

Unter Excel 2007 betätigen Sie die Schaltfläche Office und dort den Button

Excel-Optionen. In der Kategorie Häufig verwendet aktivieren Sie

Entwicklerregisterkarte in der Multifunktionsleiste anzeigen.

Abbildung 1.12 Registerkarte »Entwicklertools« einblenden

Page 25: Einstieg in VBA mit Excel - Amazon S3

1.3 Arbeiten mit Makros

29

EntwicklertoolsAnschließend ist die Registerkarte dauerhaft aktiviert (siehe Abbildung 1.13).

1.3.7 Makrosicherheit dauerhaft ändern

Klicken Sie auf der Registerkarte Entwicklertools den Button Makro-

sicherheit an (siehe Abbildung 1.14).

Trust CenterUnter Excel 2013 öffnet sich anschließend das Dialogfeld Trust Center.

Unter Excel 2010 heißt dieses Dialogfeld Sicherheitscenter, unter Excel

2007 heißt es Vertrauenscenter. Nach Auswahl der Kategorie Makro-

einstellungen bzw. Einstellungen für Makros sehen Sie die Standard-

einstellung: Alle Makros mit Benachrichtigung deaktivieren (siehe

Abbildung 1.15). Außerdem sehen Sie die verschiedenen Möglichkeiten zur

Einstellung.

Vertrauenswür-diger Speicherort

Die folgende Möglichkeit ist allerdings besser geeignet: Nach Auswahl der

Kategorie Vertrauenswürdige Speicherorte (siehe Abbildung 1.15 für

Excel 2013) sehen Sie eine Liste der vertrauenswürdigen Verzeichnisse. Die

Makros in den hier gelisteten Verzeichnissen können immer ausgeführt

werden.

Abbildung 1.13 Registerkarte »Entwicklertools«

Abbildung 1.14 Button »Makrosicherheit«

Page 26: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

30

EigenerSpeicherort

Falls Sie also in Zukunft alle Ihre Excel-Dateien mit Makros in einem

bestimmten Verzeichnis (gegebenenfalls inklusive dessen Unterverzeich-

nisse) speichern, dann können Sie dieses Verzeichnis zu der Liste hinzufü-

gen. Dazu betätigen Sie den Button Neuen Speicherort hinzufügen. Es

erscheint ein Dialogfeld, in dem Sie die gewünschten Eingaben vornehmen

können (siehe Abbildung 1.16).

Anschließend ist die Liste der vertrauenswürdigen Speicherorte um ein Ele-

ment ergänzt (siehe Abbildung 1.17).

Abbildung 1.15 Trust Center

Abbildung 1.16 Vertrauenswürdiges Verzeichnis

Abbildung 1.17 Liste der vertrauenswürdigen Verzeichnisse

Page 27: Einstieg in VBA mit Excel - Amazon S3

1.4 Entwicklungsumgebung Visual Basic Editor

31

1.4 Entwicklungsumgebung Visual Basic Editor

Tasten Alt + F11Es gibt mehrere Wege, den Visual Basic Editor (VBE), die Entwicklungsum-

gebung, aufzurufen, in der man den VBA-Code schreibt. Wie bereits erläu-

tert, gelangen Sie über den Button Makros auf der Registerkarte Ansicht

oder der Registerkarte Entwicklertools dorthin. Außerdem können Sie

den VBE von der Excel-Oberfläche mit der Tastenkombination (Alt)+(F11)

aufrufen. Mit der gleichen Tastenkombination können Sie auch wieder

vom VBE zur Excel-Oberfläche zurückwechseln. Dies wird in der Praxis häu-

fig durchgeführt.

1.4.1 Menüleiste und Symbolleiste

Symbolleiste »Bearbeiten«

Im oberen Teil des VBEs befinden sich eine Menüleiste und die Symbol-

leiste Voreinstellung. Nützlich für die Programmierung ist auch die

Symbolleiste Bearbeiten, die Sie über das Menü Ansicht • Symbolleis-

ten einblenden können. Beide Symbolleisten sehen Sie in Abbildung 1.18.

Deklaration erzwingen

Nehmen Sie zu Beginn bitte eine Voreinstellung vor, die für die VBA-Pro-

grammierung wichtig ist: Im Menü Extras • Optionen • Registerkarte

Editor setzen Sie ein Häkchen bei Variablendeklaration erforder-

lich (siehe Abbildung 1.19).

Verbesserung des Programms

Abbildung 1.19 Einstellung »Variablendeklaration erforderlich«

Abbildung 1.18 Symbolleisten »Voreinstellung« und »Bearbeiten«

Page 28: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

32

Option Explicit Dies sorgt ab dem nächsten Öffnen von Excel dafür, dass in jedem Modul

oberhalb des VBA-Codes die Zeile Option Explicit steht und alle Variablen

deklariert werden müssen.

Damit wird in Ihrem VBA-Code automatisch darauf geachtet, dass Sie alle

Variablen explizit deklarieren. Dies kann zur Verminderung von Fehlern

und zur Verbesserung der Performance Ihrer Programme beitragen. Vari-

ablen dienen der Speicherung von Zahlen, Daten und Texten, die im späte-

ren Verlauf eines Programms noch benötigt werden. Dazu mehr in Kapitel 3,

»Grundlagen der Programmierung mit VBA«.

1.4.2 Projekt-Explorer und Eigenschaften-Fenster

Auf der linken Seite des VBEs befinden sich der Projekt-Explorer und das

Fenster Eigenschaften (siehe Abbildung 1.20).

Projekt-Explorer Im Projekt-Explorer werden die Elemente der aktuell geöffneten Dateien

angezeigt, in denen man mit VBA programmieren kann. Dies sind:

Modul � eigene Codemodule, wie z.B. das Modul1, das durch die Aufzeichnung

eines Makros automatisch erzeugt wurde. Ein eigenes, leeres Modul

kann auch über das Menü Einfügen • Modul erzeugt werden.

Abbildung 1.20 Projekt-Explorer und Eigenschaften-Fenster

Page 29: Einstieg in VBA mit Excel - Amazon S3

1.4 Entwicklungsumgebung Visual Basic Editor

33

Klassenmodul� vorhandene Klassenmodule, wie DieseArbeitsmappe und Tabelle1 bis

Tabelle3, also die gesamte Arbeitsmappe und die aktuell vorhandenen

Tabellen. Hier kann VBA-Code notiert werden, der bei Eintritt bestimm-

ter Ereignisse, wie z. B. Öffnen einer Arbeitsmappe, automatisch ausge-

führt wird.

� eigene Klassenmodule zur objektorientierten Programmierung, die Sie

über das Menü Einfügen • Klassenmodul erzeugen können

UserForm� UserForms, also eigene Dialogfelder zur komfortablen Programmsteue-

rung, die sich über das Menü Einfügen • UserForm erzeugen lassen

Für uns sind zunächst nur die eigenen Codemodule wichtig. Die VBA-Bei-

spiele in diesem Buch werden in Codemodulen gespeichert, falls kein

anderslautender Hinweis erfolgt. Falls Code in UserForms oder eigenen

Klassenmodulen gespeichert wird, so ist dies explizit angegeben. Der VBA-

Code in Klassenmodulen bezieht sich normalerweise nur auf das jeweilige

Klassenmodul. Per Doppelklick auf ein Element im Projekt-Explorer wird

der VBA-Code des betreffenden Moduls eingeblendet.

Übung 1 D

Blenden Sie den VBA-Code der verschiedenen Elemente ein.

Eigenschaftenund Werte

Im Fenster Eigenschaften werden die Eigenschaften des aktuell ausge-

wählten Moduls bzw. die Eigenschaften des ausgewählten Steuerelements

eines eigenen Dialogfeldes aufgelistet. Die Werte dieser Eigenschaften kön-

nen verändert werden. Ein Modul wird durch einen einfachen Klick im Pro-

jekt-Explorer ausgewählt. Zunächst ist das Fenster Eigenschaften für uns

nicht wichtig.

1.4.3 Codefenster

Code ausführenAuf der rechten Seite des VBEs befindet sich das bereits bekannte Codefens-

ter mit dem VBA-Code. Sie können eines der Makros von hier aus direkt

ausführen. Setzen Sie dazu den Cursor in die betreffende Prozedur.

Anschließend können Sie entweder

� im Menü Ausführen den Menüpunkt Sub/UserForm ausführen

aufrufen oder

Taste F5� die Taste (F5) betätigen oder

Page 30: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

34

� in der Symbolleiste Voreinstellung das Symbol mit dem grünen Pfeil,

der nach rechts weist, betätigen (siehe Abbildung 1.21).

Übung 1 E

Testen Sie auf diese Weise die beiden vorhandenen Makros. Das Ergebnis

sehen Sie natürlich nur in der Excel-Oberfläche. Sie müssen also (z.B. mit-

hilfe der Tastenkombination (Alt)+(F11)) zwischen Excel-Oberfläche und

VBE hin- und herwechseln.

Zur Erinnerung

Ein Apostroph im VBA-Code dient dazu, eine ganze Zeile bzw. den Rest

einer Zeile hinter dem Apostroph zu einem Kommentar zu machen.

Übung 1 F

Fügen Sie Ihren beiden Makros jeweils eine Kommentarzeile hinzu mit

dem Text: Dieses Makro wurde von [Ihr Name] erstellt. Testen Sie Ihre

Makros erneut.

1.5 Makrocode verstehen und ändern

Im nächsten Schritt sollen Sie Ihre eigenen Makros verändern. Dazu müs-

sen wir ihren Code etwas näher betrachten, zunächst am Beispiel von

Makro1:

Sub Makro1()Range("A1").SelectSelection.CutRange("C1").SelectActiveSheet.Paste

End Sub

Listing 1.2 Sub Makro1 in Mappe1.xlsm, Modul 1

Abbildung 1.21 Symbol »Sub/UserForm ausführen« (Taste F5)

Page 31: Einstieg in VBA mit Excel - Amazon S3

1.5 Makrocode verstehen und ändern

35

Zur Erläuterung:

Sub ... End Sub� Der Code der Makros ist jeweils innerhalb einer Sub-Prozedur zwischen

Sub und End Sub notiert. Die einzelnen Zeilen werden der Reihe nach

durchlaufen und ausgeführt.

Range� Range("A1").Select bedeutet: Für einen (Zell-)Bereich (engl. range) wird

etwas durchgeführt. In diesem Fall wird der Bereich ausgewählt (engl.

select). Der Bereich umfasst hier nur die Zelle A1. Er kann auch mehrere

Zellen umfassen.

Cut� Selection.Cut bedeutet: Für die vorher getroffene Auswahl (engl. selec-

tion) wird etwas durchgeführt. In diesem Fall wird die Auswahl ausge-

schnitten (engl. cut). Es wurde also der Inhalt der Zelle A1 ausgeschnitten.

Dieser Inhalt befindet sich nun in der Zwischenablage.

Im anderen Makro (KopieE3E5) wird auf ähnliche Art und Weise mit

Selection.Copy die vorher getroffene Auswahl in die Zwischenablage

kopiert.

� Range("C1").Select erklärt sich nun von selbst.

Paste� ActiveSheet.Paste bedeutet: Für das aktuell aktive Tabellenblatt (engl.

sheet) wird etwas durchgeführt. In diesem Fall wird der Inhalt der Zwi-

schenablage eingefügt (engl. paste). Dies wird an der vorher ausgewähl-

ten Stelle (Zelle C1) vorgenommen.

Hinweis

Active...Mit dem Präfix »Active« wird immer das aktuell aktive Element bezeich-

net, wie z.B. ActiveCell (Zelle), ActiveSheet (Tabellenblatt) oder Active-Workbook (Arbeitsmappe).

Durch den Eintrag von D1 statt C1 als Zielzelle können Sie den Code leicht

verändern. Anschließend wird der Inhalt der Zelle A1 zur Zelle D1 verscho-

ben.

Übung 1 G

Verändern Sie das Makro KopieE3E5 aus Übung 1 A (siehe Abschnitt 1.3.1,

»Makro aufzeichnen«). Es soll der Inhalt der Zellen E3 bis G3 sowohl in die

Zellen E5 bis G5 als auch in die Zellen E10 bis G10 kopiert werden. Nennen

Sie das geänderte Makro KopieE3E5Neu.

Page 32: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

36

Hinweise dazu:

� Ein Zellbereich aus mehreren Zellen wird genau wie in Excel notiert,

also z.B. E3:G3.

� Für eine Zielangabe reicht die Angabe einer einzelnen Zelle aus; die wei-

teren Zellen des kopierten Bereichs werden, wie aus Excel gewohnt, in

die Nachbarzellen eingefügt.

� Aus der Zwischenablage können beliebig viele Kopien eingefügt werden.

Hinweis

Aktivieren undselektieren

In den genannten Beispielen werden Quellbereiche selektiert und Zielbe-

reiche aktiviert. Dadurch erhält man als VBA-Neuling einen leicht ver-

ständlichen Einstieg, weil der Code die gleichen Schritte ausführt wie der

Benutzer in der Excel-Oberfläche.

Es wird aber mehr Code als notwendig erzeugt. Die Wartung solchen

Codes dauert länger, und die Ausführung ist langsamer. Im weiteren Ver-

lauf dieses Buches werden Sie lernen, wie man besseren Code erstellt.

1.6 Makro per Schaltfläche ausführen

Button einfügen Sie können als Entwickler dem Benutzer das Starten eines Makros erleich-

tern, indem Sie ihm eine Schaltfläche (engl. button) zur Verfügung stellen.

So können Sie ein übersichtlich zu bedienendes Tabellenblatt mit Daten,

Formeln und Programmen zur Verfügung stellen.

Zur Erzeugung eines Buttons gehen Sie wie folgt vor:

1. Auf der Registerkarte Entwicklertools betätigen Sie den Button Ein-

fügen.

2. Es erscheint eine Sammlung von Steuerelementen; darin wählen Sie das

Symbol links oben: Schaltfläche (Formular-Steuerelement).

3. Platzieren Sie den Mauscursor an der gewünschten Stelle auf dem Tabel-

lenblatt. Es erscheint ein kleines Kreuz. Drücken Sie die linke Maustaste,

halten Sie sie gedrückt, und ziehen Sie die Schaltfläche in der gewünsch-

ten Größe auf.

Makro und But-ton verbinden

4. Es erscheint das Dialogfeld Makro zuweisen (siehe Abbildung 1.22).

Suchen Sie das gewünschte Makro heraus, und bestätigen Sie mit OK.

Page 33: Einstieg in VBA mit Excel - Amazon S3

1.7 Relative Aufzeichnung

37

Anschließend erscheint der Button im Bearbeitungsmodus. Klicken Sie ein-

mal neben den Button; anschließend können Sie durch Klick auf den But-

ton das Makro ausführen (siehe Abbildung 1.23).

Hinweis

Button bearbeitenSie können einen Button nachträglich bearbeiten. Dazu klicken Sie mit der

rechten Maustaste auf den Button, dann sind Sie wieder im Bearbeitungs-

modus. Sie können nun Größe und Ort verändern. Über das Kontextmenü

(wiederum Rechtsklick) können Sie ein anderes Makro zuweisen oder den

Text auf dem Button verändern.

1.7 Relative Aufzeichnung

Beim Aufzeichnen der Makros ist Ihnen sicherlich schon der Begriff Rela-

tive Aufzeichnung aufgefallen. Dabei handelt es sich um einen Schalter,

den Sie an zwei Stellen betätigen können:

� in dem Menü, das über den Button Makros auf der Registerkarte

Ansicht erreicht werden kann

� auf der Registerkarte Entwicklertools

Abbildung 1.22 Makro einem Button zuordnen

Abbildung 1.23 Neu eingefügter Button

Page 34: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

38

Schalter Falls dieser Schalter eingeschaltet wird, werden nachfolgende Makros rela-

tiv aufgezeichnet. Bei den bisher erstellten Makros war dieser Schalter nicht

eingeschaltet, diese Makros wurden daher absolut aufgezeichnet.

Absolutaufzeichnen

� Absolute Aufzeichnung bedeutet, dass im Makrocode absolute Zellanga-

ben stehen (Beispiel: A1, C1). Bei der Ausführung eines solchen Makros ist

es egal, welche Zelle in Excel aktiv ist, es wird immer mit den Zellen A1

und C1 gearbeitet.

Relativaufzeichnen

� Relative Aufzeichnung bedeutet, dass im Makrocode relative Zellanga-

ben stehen. Bei der Ausführung eines solchen Makros werden die Aktio-

nen relativ zu der Zelle ausgeführt, die in Excel aktiv ist.

Zur Verdeutlichung soll ein Makro aufgezeichnet werden, in dem das Glei-

che gemacht wird wie im ersten Beispielmakro: Der Inhalt der Zelle A1 wird

nach C1 verschoben. Allerdings wird das Makro relativ aufgezeichnet. Füh-

ren Sie folgende Schritte durch:

1. Aktivieren Sie in Excel die Relative Aufzeichnung.

2. Tragen Sie in der Zelle A1 einen beliebigen Inhalt ein (Zahl oder Text).

3. Wählen Sie die Zelle A1 aus.

4. Beginnen Sie mit der Aufzeichnung des Makros (Name Makro2).

5. Schneiden Sie den Inhalt der Zelle A1 aus.

6. Fügen Sie den Inhalt der Zwischenablage in der Zelle C1 ein. Der Inhalt

der Zelle A1 wurde nach C1 verschoben.

7. Beenden Sie die Makro-Aufzeichnung.

RelativeVerschiebung

Soweit ist noch kein sichtbarer Unterschied aufgetreten. Falls Sie nun aller-

dings das Makro ausführen, so wird jeweils der Inhalt der aktuell ausge-

wählten Zelle um zwei Zellen nach rechts verschoben (z.B. von D10 nach

F10) und nicht immer der Inhalt der Zelle A1 nach C1.

Die aktive Zelle ist nun der Ausgangspunkt. Betrachten wir den Code:

Cut � Selection.Cut: Es geschieht das Gleiche wie bei der absoluten Aufzeich-

nung, also der Inhalt der aktiven Zelle wird ausgeschnitten. Er liegt nun

in der Zwischenablage.

Offset � ActiveCell.Offset(0, 2).Range("A1").Select: Ausgehend von der akti-

ven Zelle wird ein Offset (also ein Versatz) ausgewählt. Die Angaben in

Klammern stehen für Zeile und Spalte des Versatzes. Es wird also eine

Zelle in der gleichen Zeile (Offset-Zeile 0) und zwei Spalten weiter rechts

Page 35: Einstieg in VBA mit Excel - Amazon S3

1.8 Persönliche Makroarbeitsmappe

39

(Offset-Spalte 2) ausgewählt. Falls die aktive Zelle D10 ist, dann wird dem-

nach die Zelle F10 ausgewählt.

Zu diesem Versatz wird der Bereich A1 ausgewählt. Dies ist nicht die

absolute Zelle A1 des Tabellenblattes, sondern die oberste linke Zelle des

Versatzes. Diese Zelle (gleiche Zeile, zwei Zellen nach rechts) wird ausge-

wählt.

Paste� ActiveSheet.Paste: Es geschieht das Gleiche wie bei der absoluten Auf-

zeichnung, also der Inhalt der Zwischenablage wird eingefügt.

Dieses Makro zeigt ein ganz anderes Verhalten als das Makro, das absolut

aufgezeichnet wurde. Beide Makro-Aufzeichnungsarten haben ihre Vor-

teile, je nach Situation.

Hinweis

Nach dem Schließen und erneuten Öffnen von Excel steht der Schalter

immer auf absolute Aufzeichnung. Sie können während einer Aufzeich-

nung über den Schalter zwischen relativer und absoluter Aufzeichnung

wechseln, falls dies notwendig sein sollte.

Übung 1 H

Erstellen Sie ein Makro, das den Inhalt von drei nebeneinanderliegenden,

markierten Zellen um zwei Zeilen bzw. um sieben Zeilen nach unten

kopiert. Es entspricht dem Makro aus der Übung 1 G (siehe Abschnitt 1.5,

»Makrocode verstehen und ändern«), allerdings mit relativer Aufzeich-

nung. Nennen Sie das Makro RelKopie. Testen Sie es, und interpretieren Sie

den VBA-Code.

1.8 Persönliche Makroarbeitsmappe

Makros überall benutzen

Die bisher aufgezeichneten Makros wurden in der aktuell aktiven Arbeits-

mappe gespeichert. Daher stehen sie nur dort zur Verfügung. Falls Sie

bestimmte Makros für den universellen Einsatz immer zur Verfügung

haben möchten, so sollten Sie sie in der Persönlichen Makroarbeitsmappe

speichern. Dabei handelt es sich um eine Arbeitsmappe, die immer zusam-

men mit Excel geöffnet wird, sobald sie existiert.

Zum Speichern eines Makros in der Persönlichen Makroarbeitsmappe

muss beim Aufzeichnen eines Makros im Dialogfeld Makro aufzeich-

Page 36: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

40

nen der entsprechende Eintrag in der Liste Makro speichern in ausge-

wählt werden (siehe Abbildung 1.24).

Dateipersonal.xlsb

Nach der Aufzeichnung erscheint ein weiterer Eintrag im Projekt-Explorer

des VBEs, die Datei personal.xlsb (siehe Abbildung 1.25). Ihr Standardspei-

cherort ist seit Windows Vista das (eventuell versteckte) Verzeichnis C:\

Benutzer\[ Benutzername ]\AppData\Roaming\Microsoft\Excel\XLStart

und unter XP C:\Dokumente und Einstellungen\[ Benutzername ]\Anwen-

dungsdaten\Microsoft\Excel\XLStart.

Makros immerverfügbar

Falls diese Datei verändert wurde, indem z.B. ein Makro hinzugefügt oder

geändert wurde, werden Sie bei jedem Schließen von Excel gefragt, ob Sie

diese Änderungen speichern möchten. Nach jedem Öffnen von Excel ste-

hen die Makros in dieser Datei zur Verfügung.

Abbildung 1.24 Speichern in Persönlicher Makroarbeitsmappe

Abbildung 1.25 Persönliche Makroarbeitsmappe im Projekt-Explorer

Page 37: Einstieg in VBA mit Excel - Amazon S3

1.9 Code schreiben, einfache Ausgabe

41

Übung 1 I

Erstellen Sie das gleiche Makro wie in der letzten Übung, 1 H, speichern Sie

es aber diesmal in der Persönlichen Makroarbeitsmappe. Schließen Sie

Excel. Testen Sie das Makro nach dem erneuten Öffnen von Excel in einer

beliebigen Arbeitsmappe.

1.9 Code schreiben, einfache Ausgabe

Selbst programmieren

In diesem Abschnitt wird erstmalig VBA-Code nicht durch eine Makro-Auf-

zeichnung, sondern durch Schreiben des Codes in einer eigenen Sub-Proze-

dur erstellt. Es entsteht also das erste richtige VBA-Programm. Außerdem

werden drei Möglichkeiten zur Ausgabe von Ergebnissen oder Kontrollwer-

ten genannt, die häufig in der VBA-Programmierung benutzt werden:

� Ausgabe in einer Zelle

� Ausgabe in einer Nachrichtenbox

� Ausgabe im Direktfenster des VBEs

1.9.1 Eigene Sub-Prozedur

Zunächst zur Erstellung einer eigenen Sub-Prozedur. Wechseln Sie mit den

Tasten (Alt)+(F11) zum VBE. Schreiben Sie unterhalb des letzten Makros

die folgende Zeile:

Sub AusgabeZelle

Unterstützung durch Editor

Sobald Sie mit der Taste (¢) die Zeile wechseln, stellen Sie fest, dass der Edi-

tor Sie bei der VBA-Programmierung unterstützt (siehe Abbildung 1.26):

� Am Ende der Zeile werden Klammern angefügt.

� Es wird die Zeile mit End Sub erzeugt.

� Der Cursor steht in der Zeile dazwischen, bereit zur Eingabe Ihres VBA-

Codes.

� Es wird eine Trennzeile zwischen den einzelnen Makros erzeugt.

Der Editor bietet dem Programmierer noch umfangreiche weitere Unter-

stützung, aber dazu später.

Page 38: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

42

Prozedurname (...) Hinter dem Namen einer Sub-Prozedur (oder kurz Prozedur) stehen immer

Klammern, wie auch bei Ihren bisherigen Makros. Diese Klammern sind

zunächst leer. Später werden wir sehen, dass man innerhalb der Klammern

Aufrufparameter notieren kann, die eine Prozedur flexibler machen kön-

nen.

1.9.2 Ausgabe in Zelle

Geben Sie in der Prozedur AusgabeZelle() folgende Codezeile ein:

Range("A1").Value = "Hallo"

Damit sieht Ihre Prozedur wie folgt aus:

Sub AusgabeZelle()Range("A1").Value = "Hallo"

End Sub

Listing 1.3 Sub AusgabeZelle in Mappe1.xlsm, Modul 1

Bei Ausführung dieser Prozedur, z. B. mithilfe der Taste (F5), wird der Text

Hallo in der Zelle A1 ausgegeben (siehe Abbildung 1.27).

Eigenschaft»Value«

Sie haben bereits gesehen, dass Sie einen Bereich, der eine oder mehrere

Zellen umfasst, über Range ansprechen können. Wir haben bereits die

Methode Select aufgerufen, um diesen Bereich auszuwählen. Diesmal wird

die Eigenschaft Value mit einem Eigenschaftswert versehen, dem Text

Hallo. Über Value erhält die Zelle einen Wert.

Abbildung 1.26 Neue eigene Sub-Prozedur

Abbildung 1.27 Ergebnis der eigenen Sub-Prozedur

Page 39: Einstieg in VBA mit Excel - Amazon S3

1.9 Code schreiben, einfache Ausgabe

43

Hinweis

Eine Prozedur sollte einen möglichst sprechenden Namen haben, der

etwas über ihre Arbeitsweise aussagt. Außerdem muss der Name inner-

halb der Anwendung eindeutig sein. Es darf also kein Prozedurname dop-

pelt vorkommen.

1.9.3 Ausgabe in Nachrichtenbox

Schreiben Sie eine weitere Prozedur mit folgendem Code:

Sub AusgabeBox()MsgBox "Hallo"

End Sub

Listing 1.4 Sub AusgabeBox in Mappe1.xlsm, Modul 1

Nach dem Aufruf erscheint eine kleine Nachrichtenbox mit dem Text Hallo

(siehe Abbildung 1.28).

MsgBoxEine solche Nachrichtenbox können Sie u. a. benutzen zur:

� Kontrollausgabe während der Programmierung

� Information des Benutzers bei einem Fehler

� Information des Benutzers am Ende eines Programms

Bei MsgBox handelt es sich um eine vorgefertigte Funktion, bei der Sie eine

Zeichenkette, z.B. einen Text in Anführungsstrichen, als Aufruf-Parameter

notieren müssen. Die Funktion MsgBox kann allerdings wesentlich mehr,

wie Sie in Abschnitt 8.3, »Einfacher Dialog mit dem Benutzer«, sehen wer-

den.

Abbildung 1.28 Ausgabe in Nachrichtenbox

Page 40: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

44

vbCrLf Bei längeren Ausgaben wird häufig ein Zeilenumbruch benötigt. Dieser

wird über die Konstante vbCrLf bereitgestellt. Ein Beispiel:

Sub AusgabeBoxZeilenumbruch()MsgBox "Hallo" & vbCrLf & "Welt"

End Sub

Listing 1.5 Sub AusgabeBoxZeilenumbruch in Mappe1.xlsm, Modul 1

Die Ausgabe sehen Sie in Abbildung 1.29.

Den Namen dieser Konstanten kann man sich leicht merken, denn es

handelt sich dabei um ein Relikt aus der Urzeit: In vbCrLf steht das Cr für

Carriage Return, den Wagenrücklauf der Schreibmaschine zum Zeilen-

anfang. Das Lf steht für Line Feed, den Zeilenvorschub.

Operator & Hinweis

Der Operator & dient der Verkettung von Zeichenfolgen. Er wird häufig

benötigt, um Ergebnisse anschaulich zusammen mit Text darzustellen.

1.9.4 Ausgabe im Direktfenster des VBEs

Schreiben Sie eine weitere Prozedur mit folgendem Code:

Sub AusgabeKontrolle()Debug.Print "Hallo"

End Sub

Listing 1.6 Sub AusgabeKontrolle in Mappe1.xlsm, Modul 1

Debug.Print Nach dem Aufruf erscheint zunächst gar nichts, da das Direktfenster des

VBEs nicht eingeblendet ist. Zeigen Sie es über das Menü Ansicht •

Abbildung 1.29 Ausgabe mit Zeilenumbruch

Page 41: Einstieg in VBA mit Excel - Amazon S3

1.10 Arbeiten mit Excel vor der Version 2007

45

Direktfenster im VBE an. Anschließend sehen Sie die soeben erzeugte

Ausgabe (siehe Abbildung 1.30).

Das Direktfenster (= Direktbereich) können Sie ebenfalls zur Kontroll-

ausgabe während der Programmierung nutzen.

1.10 Arbeiten mit Excel vor der Version 2007

Zunächst das Wichtigste: Excel-Dateien werden in den Versionen vor Excel

2007 einheitlich mit der Dateiendung .xls gespeichert, unabhängig davon,

ob sie Makros enthalten oder nicht.

Die weitaus meisten Beispiele in diesem Buch laufen auch unter Versionen

vor Excel 2007. Auf dem Datenträger, der diesem Buch beiliegt, stehen die

Dateien zusätzlich im xls-Format für Versionen vor Excel 2007 zur Verfü-

gung.

Als Beispiel für die Arbeit mit den Versionen vor Excel 2007 (genauer Excel 97

bis Excel 2003) soll in diesem Abschnitt Excel 2002 dienen. Es werden nur

die Unterschiede zu Excel 2013 erläutert, in Anlehnung an die Reihenfolge

der bisherigen Abschnitte.

1.10.1 Makro aufzeichnen

Zum Starten einer Aufzeichnung wählen Sie im Menü Extras das Unter-

menü Makro, darin den Menüpunkt Aufzeichnen. Zum Beenden der

Aufzeichnung wählen Sie im Menü Extras das Untermenü Makro, darin

den Menüpunkt Aufzeichnung beenden.

Nach dem Start einer Aufzeichnung erscheint die kleine Symbolleiste Auf-

zeichnung beenden. Sollte sie nicht von selbst erscheinen, so kann sie

Abbildung 1.30 Ausgabe im Direktfenster

Page 42: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

46

auf die übliche Art eingeblendet werden: rechte Maustaste im Bereich der

Symbolleisten klicken und Häkchen vor der betreffenden Symbolleiste set-

zen. Sie beinhaltet zwei Symbole:

� Mit Betätigung des linken Symbols können Sie die Aufzeichnung eben-

falls beenden.

� Mit Betätigung des rechten Symbols können Sie auf relative Aufzeich-

nung umschalten. Diese Einstellung gilt auch für nachfolgende Makro-

Aufzeichnungen.

1.10.2 Makro ausführen

Zum Ausführen des Makros wählen Sie im Menü Extras das Untermenü

Makro und darin den Menüpunkt Makros. Wählen Sie im Dialogfeld

Makro das gewünschte Makro aus, und klicken Sie auf den Button Aus-

führen.

1.10.3 Makro ansehen

Zum Ansehen des Makros wählen Sie im Menü Extras das Untermenü

Makro und darin den Menüpunkt Makros. Wählen Sie im Dialogfeld

Makro das gewünschte Makro aus, und klicken Sie auf den Button Bear-

beiten. Es erscheint der Visual Basic Editor. Sie können ihn über den Menü-

punkt Schließen und zurück zu Microsoft Excel im Menü Datei

wieder schließen.

1.10.4 Makro speichern

Wie bereits erwähnt, werden Excel-Dateien in diesen Versionen einheitlich

gespeichert, unabhängig davon, ob sie Makros enthalten oder nicht.

Zum Speichern der Datei wählen Sie im Menü Datei den Menüpunkt Spei-

chern. Es erscheint das Dialogfeld Speichern unter. Als Dateityp ist

Excel-Arbeitsmappe mit der Dateiendung .xls angegeben. Wählen Sie

den gewünschten Dateinamen und das gewünschte Verzeichnis aus, und

klicken Sie auf den Button Speichern.

Dateityp ändern Falls Sie an einem externen PC Excel 2013 bzw. Excel 2010 oder Excel 2007

zur Verfügung haben und eine dort erstellte Excel-Datei auf Ihrem PC unter

Page 43: Einstieg in VBA mit Excel - Amazon S3

1.10 Arbeiten mit Excel vor der Version 2007

47

einer Version vor Excel 2007 haben wollen, rufen sie auf dem externen PC

das Dialogfeld Speichern unter auf und wählen den Dateityp Excel-97-

2003-Arbeitsmappe mit der Dateiendung .xls.

Kompatibilitäts-prüfung

Falls sich in der Datei VBA-Code befindet, der nicht unter älteren Excel-Ver-

sionen ausgeführt werden kann, so erscheint das Dialogfeld Kompatibili-

tätsprüfung. Darin wird das Problem genauer erläutert.

1.10.5 Makrosicherheit

Beim Öffnen einer Datei, die ein Makro beinhaltet, kommt es darauf an,

welche Sicherheitsstufe in Excel eingestellt ist:

� Hoch: Die Ausführung von nicht signierten Makros wird abgelehnt.

� Mittel: Es wird Ihnen die Möglichkeit gegeben, die Makros in dieser

Datei einmalig zu aktivieren oder zu deaktivieren.

� Niedrig: Die Ausführung von nicht signierten Makros wird generell

erlaubt.

Zum Ändern der Sicherheitsstufe wählen Sie im Menü Extras das Unter-

menü Makro und darin den Menüpunkt Sicherheit. Es erscheinen die

drei genannten Möglichkeiten. Eine Änderung wird erst beim nächsten Öff-

nen einer Excel-Datei wirksam.

1.10.6 Symbolleiste »Visual Basic«

Nach Einblenden der Symbolleiste Visual Basic haben Sie schnelleren

Zugriff auf die wichtigsten Befehle im Zusammenhang mit Makros und der

Entwicklung mit Visual Basic.

1.10.7 Entwicklungsumgebung Visual Basic Editor

Zum Aufruf des VBEs wählen Sie im Menü Extras das Untermenü Makro,

darin den Menüpunkt Visual Basic-Editor oder die Tastenkombination

(Alt)+(F11).

Das Symbol zum Starten eines Makros aus dem Codefenster heraus ist ein

grüner Pfeil. Alternativ können Sie das Menü Ausführen (Menüpunkt

Sub/ UserForm ausführen) oder die Funktionstaste (F5) nutzen.

Page 44: Einstieg in VBA mit Excel - Amazon S3

1 Einführung

48

1.10.8 Persönliche Makroarbeitsmappe

Die Persönliche Makroarbeitsmappe heißt personal.xls, und ihr Standard-

speicherort ist seit Windows Vista das (eventuell versteckte) Verzeichnis C:\

Benutzer\[Benutzername]\AppData\Roaming\Microsoft\Excel\XLStart und

unter XP C:\Dokumente und Einstellungen\[Benutzername]\Anwendungs-

daten\Microsoft\Excel\XLStart.

Page 45: Einstieg in VBA mit Excel - Amazon S3

205

Kapitel 7

Diagramme und Grafiken

Die Automatisierung des Aufbaus von Diagrammen und Shapes hilft Ihnen

beim Aufbau professioneller Anwendungen.

In diesem Kapitel lernen Sie diverse Möglichkeiten zur Programmierung

verschiedener Arten von Grafiken kennen:

� Diagramme

� Shapes

� WordArt (seit Excel 2007)

� bedingte Formatierungen (seit Excel 2007)

� Sparklines (seit Excel 2010)

� SmartArt (seit Excel 2007)

Diagramme können in Excel per Knopfdruck schnell erzeugt werden. In die-

sem Kapitel lernen Sie, wie Sie Diagramme per VBA-Programmcode erstel-

len und verändern. Damit haben Sie die Möglichkeit, zusammen mit Ihren

Programmierfähigkeiten, spezielle Diagramme zu erstellen.

AutomatisierungDabei kann es sich beispielsweise um ein Diagramm mit besonderer Daten-

auswahl oder spezieller Diagrammform handeln, das automatisch aus

einer Textdatei, abhängig von aktuellen Bedingungen erstellt wird.

Zeichnungs-objekte

In Abschnitt 7.5, »Shapes«, werden einige Möglichkeiten von Shapes erläu-

tert. Shapes sind Zeichnungsobjekte, z.B. die Autoformen. Sie teilen zahlrei-

che Eigenschaften mit Diagrammen.

Bedingte Formatierung

Zellen können, in Abhängigkeit von Bedingungen, mithilfe von Datenbal-

ken, Farbskalen und Symbolsätzen unterschiedlich formatiert werden.

Mehr zu diesen bedingten Formatierungen lesen Sie in Abschnitt 7.7,

»Bedingte Formatierungen«. In Excel 2010 wurden die Möglichkeiten der

bedingten Formatierungen erweitert.

Page 46: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

206

Sparklines In Abschnitt 7.8, »Sparklines«, wird die Erzeugung von Sparklines beschrie-

ben. Dies sind kleine Diagramme, die als Zellhintergrund eingebettet wer-

den. Sie sollen kurz und prägnant Zahlenverläufe verdeutlichen. Sparklines

wurden mit Excel 2010 eingeführt.

SmartArts Mithilfe von SmartArts können seit Excel 2007 Beziehungen, Prozessab-

läufe oder Hierarchien schnell und übersichtlich dargestellt werden. Smart-

Arts sind besondere Gruppen von Shapes. Sie können mithilfe von VBA

allerdings nicht verändert werden. Ihre Eigenschaften können nur ausgele-

sen werden, siehe Abschnitt 7.9, »SmartArt«.

7.1 Diagramm erstellen

Beispieltabelle Bekanntlich können Diagramme sowohl auf eigenen Blättern in einer

Arbeitsmappe als auch eingebettet in einem Tabellenblatt erstellt werden.

Beide Methoden werden in diesem Abschnitt vorgestellt. Ausgangspunkt

soll in beiden Fällen eine Tabelle mit Temperaturwerten sein, die Sie in

Abbildung 7.1 sehen.

7.1.1 Diagrammblatt erstellen

Hierarchie Diagramme auf eigenen Blättern (Diagrammblätter) stehen in der

Objekthierarchie auf der gleichen Ebene wie Tabellenblätter. Es gibt ver-

schiedene Auflistungen innerhalb einer Arbeitsmappe:

Sheets � Sheets enthält alle Tabellenblätter und Diagrammblätter.

� Worksheets enthält nur die Tabellenblätter (wie bekannt).

Charts � Charts enthält nur die Diagrammblätter.

Abbildung 7.1 Beispieldaten für Diagramme

Page 47: Einstieg in VBA mit Excel - Amazon S3

7.1 Diagramm erstellen

207

Mit der folgenden Prozedur wird ein einfaches Liniendiagramm als Dia-

grammblatt in der Arbeitsmappe erstellt:

Sub DiagrammNeuesBlattErstellen()ThisWorkbook.Charts.Add After:=Worksheets("Tabelle1")With ActiveChart

.ChartType = xlLine

.SetSourceData Worksheets("Tabelle1").Range("A1:C8")

.Name = "Diagramm1"End With

End Sub

Listing 7.1 Sub DiagrammNeuesBlattErstellen in Mappe7.xlsm, Modul 1

Das Ergebnis zeigt Abbildung 7.2.

Zur Erläuterung:

Add()� Die Methode Add() des Objekts Charts erstellt ein Diagrammblatt und

fügt es der Charts-Auflistung der aktiven Arbeitsmappe hinzu. Ähnlich

wie beim Kopieren oder Verschieben von Tabellenblättern können Sie

mithilfe von Before und After den Ort des neuen Blattes festlegen. Ohne

Angabe wird das neue Blatt vor dem aktuell aktiven Blatt eingefügt.

Abbildung 7.2 Diagramm auf neuem Blatt

Page 48: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

208

ActiveChart � Das neue Diagrammblatt ist vom Typ Chart. Es wird zum aktiven Dia-

grammblatt. Daher kann es mit ActiveChart angesprochen werden.

ChartType � Die Eigenschaft ChartType legt den Typ des Diagramms fest, hier xlLine

für ein Liniendiagramm. Einige wichtige Diagrammtypen werden weiter

unten aufgelistet.

SetSourceData() � Die Methode SetSourceData() legt die Datenquelle für das Diagramm

fest. In diesem Fall ist das der Bereich A1 bis C8 des Tabellenblattes

Tabelle1 (mit den Temperaturdaten).

Eigenschaft»Name«

� Mithilfe der Eigenschaft Name können Sie dem Diagramm einen Namen

geben.

Hinweis

Die Methode SetSourceData() hat noch einen zweiten, optionalen Para-

meter. Damit legen Sie fest, ob das Diagramm die Tabelle nach Spalten

(xlColumns) oder Zeilen (xlRows) darstellt. Der erste Wert ist der Standard.

Diagrammtypen Tabelle 7.1 stellt einige Diagrammtypen dar.

7.1.2 Eingebettetes Diagramm erstellen

ChartObjects Eingebettete Diagramme stehen in der Objekthierarchie unterhalb der

Tabellenblätter. Die Auflistung Worksheets enthält die Unterauflistung

ChartObjects, also alle Diagrammrahmen des Tabellenblattes. Ein Chart-

Object ist Element dieser Auflistung ChartObjects, also ein einzelner Dia-

grammrahmen. Ein einzelnes Diagramm ist ein Objekt vom Typ Chart und

stellt den Wert der Eigenschaft Chart eines Diagrammrahmens dar. Bis auf

diese Einordnung gleichen sich beide Diagrammformen.

Diagrammtyp Eigenschaft »ChartType«

gruppiertes Säulendiagramm xlColumnClustered

gruppiertes Balkendiagramm xlBarClustered

Liniendiagramm xlLine

Kreisdiagramm xlPie

Tabelle 7.1 Diagrammtypen

Page 49: Einstieg in VBA mit Excel - Amazon S3

7.1 Diagramm erstellen

209

Mit der folgenden Prozedur wird ein einfaches Liniendiagramm in das

Tabellenblatt Tabelle1 eingebettet:

Sub DiagrammEingebettetErstellen()Dim CO As ChartObjectDim CH As Chart

Set CO = ThisWorkbook.Worksheets("Tabelle1"). _ChartObjects.Add(200, 10, 300, 150)

Set CH = CO.ChartCH.ChartType = xlLineCH.SetSourceData Worksheets("Tabelle1").Range("A1:C8")

End Sub

Listing 7.2 Sub DiagrammEingebettetErstellen in Mappe7.xlsm, Modul 1

Das Ergebnis sehen Sie in Abbildung 7.3.

Zur Erläuterung:

ChartObject� Zunächst wird eine Variable vom Typ ChartObject deklariert. Sie ver-

weist später auf den neu erstellten Diagrammrahmen.

Chart-Variable� Anschließend wird eine Variable vom Typ Chart deklariert. Sie verweist

später auf das Diagramm des neu erstellten Diagrammrahmens.

Add()� Die Auflistung ChartObjects enthält alle Rahmen der eingebetteten Dia-

gramme auf einem Tabellenblatt. Die Methode Add() erstellt einen

neuen Diagrammrahmen an einem bestimmten Ort in einer bestimm-

Abbildung 7.3 Eingebettetes Diagramm

Page 50: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

210

ten Größe. Sie liefert einen Verweis auf das neu erstellte Objekt zurück.

Die vier Parameter von Add() stehen für:

– Abstand des Rahmens zum linken Rand des Tabellenblattes

– Abstand des Rahmens zum oberen Rand des Tabellenblattes

– Breite des Rahmens

– Höhe des Rahmens

Eigenschaft»Chart«

� Die Eigenschaft Chart des ChartObjects stellt das eigentliche Diagramm

innerhalb des Rahmens dar.

ChartType � Die Eigenschaft ChartType ist bereits bekannt; sie legt den Typ des Dia-

gramms fest.

SetSourceData() � Die Methode SetSourceData() ist ebenfalls bereits bekannt. Sie legt die

Datenquelle für das Diagramm fest. In diesem Fall ist das der Bereich A1

bis C8 des aktiven Tabellenblattes.

7.2 Diagramm ändern

Elemente ändern Diagramme haben viele Elemente mit zahlreichen Eigenschaften, die

natürlich auch im Nachhinein geändert werden können. Die Elemente ste-

hen in der Objekthierarchie unterhalb der Diagramme. Sie unterscheiden

sich je nach Diagrammtyp. Am Beispiel des soeben erstellten Liniendia-

gramms sollen stellvertretend einige wichtige Eigenschaften (und Metho-

den) erläutert werden.

Seit Excel 2010 können Sie nicht nur die Erstellung eines Diagramms, son-

dern auch die Änderungen an einem Diagramm mithilfe eines Makros auf-

zeichnen. Dies kann eine Hilfe zur Nutzung der Objekthierarchie sein,

deren Vielfalt hier nicht komplett beschrieben werden kann.

7.2.1 Diagrammblatt ändern

Zunächst das Programm:

Sub DiagrammNeuesBlattAendern()Dim CH As ChartSet CH = ThisWorkbook.Charts(1)DiagrammAendern CH

End Sub

Listing 7.3 Sub DiagrammNeuesBlattAendern in Mappe7.xlsm, Modul 1

Page 51: Einstieg in VBA mit Excel - Amazon S3

7.2 Diagramm ändern

211

Das Programm ist zweigeteilt. Zunächst der Programmteil, der nur auf Dia-

grammblätter zutrifft:

Chart-Variable� Es wird eine Variable vom Typ Chart deklariert. Dieser Variablen wird das

erste Diagrammblatt dieser Arbeitsmappe zugewiesen.

Charts(Index)� Es wird die Prozedur DiagrammAendern() aufgerufen, als Parameter wird

das erste Diagrammblatt Charts(1) übergeben.

Es folgt der Programmteil, der sowohl auf Diagrammblätter als auch auf

eingebettete Diagramme zutrifft:

Sub DiagrammAendern(CH As Chart)' DiagrammflächeCH.ChartArea.Interior.Color = vbCyan

' ZeichnungsflächeCH.PlotArea.Interior.Color = vbYellow

' TitelCH.HasTitle = TrueCH.ChartTitle.Text = "Temperatur"' LegendeCH.HasLegend = TrueWith CH.Legend

.Interior.Color = vbYellow

.Border.Color = vbBlue

.Border.Weight = xlThickEnd With

' Achse KategorienWith CH.Axes(xlCategory)

.HasTitle = True

.AxisTitle.Text = "Datum"

.TickLabels.NumberFormatLocal = "TT.MM."End With

' Achse WerteWith CH.Axes(xlValue)

.HasTitle = True

.AxisTitle.Text = "Grad"

.MinimumScale = 5

.MaximumScale = 35

Page 52: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

212

End With

' DatenreiheWith CH.SeriesCollection(1)

.Border.Color = vbRed

.MarkerStyle = xlMarkerStyleCircle

.MarkerForegroundColor = vbRed

.MarkerBackgroundColor = vbRedEnd With

'DatenpunktWith CH.SeriesCollection(1).Points(3)

.Border.Color = vbBlue

.ApplyDataLabels xlShowValue

.MarkerStyle = xlMarkerStyleSquare

.MarkerForegroundColor = vbBlue

.MarkerBackgroundColor = vbBlueEnd With

End Sub

Listing 7.4 Sub DiagrammAendern in Mappe7.xlsm, Modul 1

Die Abbildungen 7.4 und 7.5 zeigen einige Bildausschnitte dazu.

Abbildung 7.4 Geändert: Flächenfarben, Legende und Datenreihe

Abbildung 7.5 Geändert: Achse, Datenpunkt

Page 53: Einstieg in VBA mit Excel - Amazon S3

7.2 Diagramm ändern

213

Zur Erläuterung:

ChartArea� Die Eigenschaft ChartArea steht für die Diagrammfläche des Diagramms.

Diese umfasst z.B. Zeichnungsfläche, Titel und Legende. Sie hat u.a. die

Eigenschaft Interior, die für (wie bei einer Zelle) das Innere des Objekts

steht. Dieses Innere hat wiederum eine Farbe, die in diesem Beispiel auf

Cyan gesetzt wird.

PlotArea� Die Eigenschaft PlotArea steht für die Zeichnungsfläche des Diagramms.

Sie hat ebenfalls u.a. die Eigenschaft Interior, deren Farbe in diesem Bei-

spiel auf Gelb gesetzt wird.

HasTitle� Diagramme können einen Titel haben. Darüber bestimmt die Eigen-

schaft HasTitle. Wird sie auf True gesetzt, dann hat das Diagramm einen

Titel; bei False hat es keinen Titel.

ChartTitle� Das Aussehen des Titels wird über die Eigenschaft ChartTitle festgelegt.

Die Eigenschaft Text enthält den Text des Titels.

HasLegend� Diagramme können eine Legende haben. Darüber bestimmt die Eigen-

schaft HasLegend. Auch sie kann auf True oder False gesetzt werden.

Legend� Das Aussehen der Legende wird über die Eigenschaft Legend festgelegt.

Ähnlich wie eine Zelle hat eine Legende die Eigenschaften Interior und

Border. Damit können Sie über die Farbe des Inneren bzw. über Rahmen-

farbe und -dicke bestimmen.

Axes, Axis� Alle Achsen eines Diagramms stehen in der Auflistung Axes. Eine ein-

zelne Achse ist ein Objekt vom Typ Axis. Zunächst muss mithilfe der

Methode Axes() des Objekts Chart entschieden werden, welche Achse

gemeint ist. Es gibt die Parameter:

– xlCategory für die horizontale Achse, die Kategorienachse

– xlValue für die vertikale Achse, die Wertachse

AxisTitle� Für jede der beiden Achsen wird im Beispiel festgelegt, dass sie einen

Achsentitel haben (HasTitle = True). Anschließend wird der Text des

Achsentitels zugewiesen (AxisTitle.Text = ...).

TickLabels� Bei der Kategorienachse wird die Formatierung der Achsenbeschriftung

(TickLabels) bestimmt. Hier stehen im Beispiel Datumsangaben; sie

werden mithilfe von NumberFormatLocal (wie Zellen) formatiert.

...Scale� Bei der Wertachse wird die Skalierung bestimmt. Dabei können unterster

Wert (MinimumScale) und oberster Wert (MaximumScale) gesetzt werden.

SeriesCollection, Series

� Alle Datenreihen eines Diagramms stehen in der Auflistung Series-

Collection. Eine einzelne Datenreihe ist ein Objekt vom Typ Series.

Page 54: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

214

Zunächst muss mithilfe der Methode SeriesCollection() des Objekts

Chart entschieden werden, welche Datenreihe gemeint ist. Diese

Methode erhält als Parameter die Nummer der Datenreihe, beginnend

bei 1, und liefert als Rückgabewert die entsprechende Datenreihe.

Border � Mit Border können die Eigenschaften des Rahmens (bei Liniendiagram-

men die Eigenschaften der eigentlichen Linie) der Datenreihe bestimmt

werden. In diesem Beispiel wird die Farbe auf Rot gesetzt.

� Mit MarkerStyle, MarkerForegroundColor, MarkerBackgroundColor ent-

scheiden Sie über das Aussehen der Markierungspunkte auf der Linie.

MarkerStyle – Für MarkerStyle ist eine Reihe von Konstanten erlaubt, z.B. xlMarker-

StyleCircle (Kreis), xlMarkerStyleSquare (Quadrat), xlMarkerStyle-

None (keine Markierung).

Marker...Color – Die Eigenschaften MarkerForegroundColor und MarkerBackgroundColor

stehen für die Farbe der Markierungsfüllung und des Markierungs-

randes.

Points, Point � Alle Datenpunkte einer Datenreihe stehen in der Auflistung Points. Ein

einzelner Datenpunkt ist ein Objekt vom Typ Point. Zunächst muss mit-

hilfe der Methode Points() des Objekts Series entschieden werden, wel-

cher Datenpunkt gemeint ist. Diese Methode erhält als Parameter die

Nummer des Datenpunktes, beginnend bei 1, und liefert als Rückgabe-

wert den entsprechenden Datenpunkt.

� Mit Border bestimmen Sie die Eigenschaften des Rahmens (bei Linien-

diagrammen die Eigenschaften der eigentlichen Linie) des Datenpunk-

tes. In diesem Beispiel wird die Farbe auf Blau gesetzt.

� Die Methode ApplyDataLabels() bestimmt über die Beschriftung von

Datenreihen oder Datenpunkten. Der wichtigste Parameter ist der Typ

der Beschriftung. Erlaubte Werte sind u.a. xlShowValue (Wert), xlShowLa-

bel (Kategorie), xlShowNone (keine Beschriftung).

� Das Aussehen der Markierung eines Datenpunktes lässt sich wie bei

einer Datenreihe einstellen, siehe oben.

Hinweis

In den Versionen vor Excel 2007 lässt sich die Formatierung der Achsenbe-

schriftung nicht vollständig einstellen. Die Eigenschaft NumberFormatLocaleines TickLabels kann nicht mit einem Datumsformat eingestellt werden.

Page 55: Einstieg in VBA mit Excel - Amazon S3

7.3 Diagramm verwalten

215

7.2.2 Eingebettetes Diagramm ändern

Ähnlich Diagrammblatt

Das Programm zum Ändern eines eingebetteten Diagramms ist ebenso

aufgebaut wie das Programm zum Ändern eines Diagrammblattes, also

zweiteilig. Es folgt der Programmteil, der nur auf eingebettete Diagramme

zutrifft:

Sub DiagrammEingebettetAendern()Dim CO As ChartObjectDim CH As Chart

Set CO = ThisWorkbook.Worksheets("Tabelle1").ChartObjects(1)CO.Left = 220CO.Top = 30CO.Width = 400CO.Height = 300

Set CH = CO.ChartDiagrammAendern CH

End Sub

Listing 7.5 Sub DiagrammEingebettetAendern in Mappe7.xlsm, Modul 1

Zur Erläuterung:

ChartObject� Es wird eine Variable vom Typ ChartObject deklariert. Dieser Variablen

wird der erste Diagrammrahmen des Tabellenblattes Tabelle1 dieser

Arbeitsmappe zugewiesen.

Chart-Variable� Anschließend wird eine Variable vom Typ Chart deklariert. Ihr weisen

wir das Diagramm dieses Diagrammrahmens zu.

Diagramm-rahmen

� Bei einem eingebetteten Diagramm kann es sinnvoll sein, Position und

Größe des Diagrammrahmens zu ändern. Hierzu können Sie die Eigen-

schaften Left, Top, Width und Height nutzen.

� Es wird die (bereits bekannte) Prozedur DiagrammAendern() aufgerufen;

als Parameter wird der Chart übergeben.

7.3 Diagramm verwalten

Diagramme können u. a. kopiert, gelöscht oder als Bilddatei exportiert

werden.

Page 56: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

216

7.3.1 Diagrammblatt verwalten

Kopieren Es folgen drei Programme zum Kopieren, Löschen bzw. Exportieren eines

Diagrammblattes. Zunächst das Kopieren:

Sub DiagrammNeuesBlattKopieren()ThisWorkbook.Charts("Diagramm1").Copy _

After:=Worksheets("Tabelle3")ActiveChart.Name = "Diagramm1 Neu"

End Sub

Listing 7.6 Sub DiagrammNeuesBlattKopieren in Mappe7.xlsm, Modul 1

Zur Erläuterung:

� Ein Diagrammblatt wird genauso kopiert wie ein Tabellenblatt.

Copy(), After,Before

� Die Methode Copy() sorgt für die Kopie, siehe Abbildung 7.6. Mit Before

bzw. After können Sie den Ort der Kopie angeben. Ohne Parameter

würde eine neue Arbeitsmappe mit dem Diagrammblatt als einzigem

Blatt angelegt werden.

Das Ergebnis sehen Sie in Abbildung 7.6.

Löschen Es folgt das Löschen:

Sub DiagrammNeuesBlattLoeschen()ThisWorkbook.Charts("Diagramm1 Neu").Delete

End Sub

Listing 7.7 Sub DiagrammNeuesBlattLoeschen in Mappe7.xlsm, Modul 1

Abbildung 7.6 Kopiertes Diagrammblatt

Page 57: Einstieg in VBA mit Excel - Amazon S3

7.3 Diagramm verwalten

217

Zur Erläuterung:

Delete()� Die Methode Delete() löscht das angegebene Diagrammblatt mit Rück-

frage.

ExportierenZuletzt das Exportieren:

Sub DiagrammNeuesBlattExport()ThisWorkbook.Charts("Diagramm1").Export "C:\Temp\März.png"

End Sub

Listing 7.8 Sub DiagrammNeuesBlattExport in Mappe7.xlsm, Modul 1

Zur Erläuterung:

Export()� Die Methode Export() dient dem Erzeugen einer Bilddatei. Es muss der

Name der Bilddatei (gegebenenfalls mit Verzeichnisnamen) angegeben

werden. Die Endung des Dateinamens bestimmt über die Art der Kon-

vertierung; es sind u. a. .jpg, .gif und .png erlaubt.

Das Ergebnis sehen Sie in Abbildung 7.7.

7.3.2 Eingebettetes Diagramm verwalten

KopierenParallel zum vorherigen Abschnitt folgen drei Programme zum Kopieren,

Löschen bzw. Exportieren eines eingebetteten Diagramms. Zunächst das

Kopieren:

Sub DiagrammEingebettetKopieren()With ThisWorkbook.Worksheets("Tabelle1")

.ChartObjects(1).Copy

.Paste

.ChartObjects(2).Top = 250

.ChartObjects(2).Left = 200End With

End Sub

Listing 7.9 Sub DiagrammEingebettetKopieren in Mappe7.xlsm, Modul 1

Abbildung 7.7 Export-Ergebnis

Page 58: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

218

Das Ergebnis sehen Sie in Abbildung 7.8.

Zur Erläuterung:

� Es wird davon ausgegangen, dass im Tabellenblatt Tabelle1 nur ein Dia-

grammrahmen existiert.

Copy() � Dieser Rahmen hat die Nummer 1 in der ChartObjects-Auflistung. Die

Methode Copy() kopiert den Diagrammrahmen (inklusive Diagramm) in

die Zwischenablage.

Paste() � Die Methode Paste() fügt den Diagrammrahmen aus der Zwischenablage

in das Tabellenblatt Tabelle1 ein. Damit wird er zu ChartObjects(2).

Diagramm-rahmen

� Die Position dieses neuen Diagrammrahmens wird über die Eigenschaf-

ten Top und Left festgelegt.

Löschen Es folgt das Löschen:

Sub DiagrammEingebettetLoeschen()ThisWorkbook.Worksheets("Tabelle1").ChartObjects(2).Delete

End Sub

Listing 7.10 Sub DiagrammEingebettetLoeschen in Mappe7.xlsm, Modul 1

Zur Erläuterung:

Delete() � Die Methode Delete() löscht den Diagrammrahmen ohne Rückfrage.

Abbildung 7.8 Kopiertes, eingebettetes Diagramm

Page 59: Einstieg in VBA mit Excel - Amazon S3

7.4 Beispiel: Formatiertes Kreisdiagramm

219

ExportierenZuletzt das Exportieren:

Sub DiagrammEingebettetExport()ThisWorkbook.Worksheets("Tabelle1"). _

ChartObjects(1).Chart.Export "C:\Temp\März.jpg"End Sub

Listing 7.11 Sub DiagrammEingebettetExport in Mappe7.xlsm, Modul 1

Zur Erläuterung:

Export()� Die Methode Export() dient dem Erzeugen einer Bilddatei, diesmal aus

dem Diagramm eines Diagrammrahmens.

7.4 Beispiel: Formatiertes Kreisdiagramm

BeispieltabelleAls weiteres Beispiel für ein neu erstelltes, eingebettetes und formatiertes

Diagramm soll nachfolgend ein Kreisdiagramm dienen. Sie können erken-

nen, dass dabei viele allgemeine Diagrammeigenschaften aus dem Linien-

diagramm übernommen werden können. Andere Eigenschaften gibt es

hingegen nur bei Kreisdiagrammen. Als Datenquelle dienen die Wahl-

ergebnisse in Abbildung 7.9.

Abbildung 7.9 Basisdaten für Kreisdiagramm

Page 60: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

220

Zunächst der Code:

Sub DiagrammKreis()Dim CO As ChartObjectDim CH As ChartDim i As Integer

Set CO = ThisWorkbook.Worksheets("Tabelle2"). _ChartObjects.Add(200, 10, 400, 350)

Set CH = CO.Chart

' Diagrammtyp und DatenquelleCH.ChartType = xlPieCH.SetSourceData Range("A1:B13")

' Diagramm- und ZeichnungsflächeCH.ChartArea.Interior.Color = vbCyanCH.PlotArea.Interior.Color = vbYellow

' TitelCH.HasTitle = TrueCH.ChartTitle.Text = "Spanien 2004"

' LegendeCH.HasLegend = TrueWith CH.Legend

.Interior.Color = vbYellow

.Border.Color = vbBlue

.Border.Weight = xlThickEnd With

'DatenpunkteCH.SeriesCollection(1).Points(1).Interior.Color = vbWhite

For i = 1 To CH.SeriesCollection(1).Points.CountIf Cells(i + 1, 2) > 500000 Then

With CH.SeriesCollection(1).Points(i).ApplyDataLabels xlDataLabelsShowLabelAndPercent.DataLabel.NumberFormat = "0.00 %"

End With

Page 61: Einstieg in VBA mit Excel - Amazon S3

7.4 Beispiel: Formatiertes Kreisdiagramm

221

End IfNext i

End Sub

Listing 7.12 Sub DiagrammKreis in Mappe7.xlsm, Modul 1

Zwei Bildausschnitte zum Ergebnis zeigen die Abbildungen 7.10 und 7.11.

Zur Erläuterung:

Add()� Wie bekannt, wird mit ChartObject.Add() der Diagrammrahmen neu

erstellt.

Typ xlPie� Als Diagrammtyp dient xlPie für Kreisdiagramme (Kuchendiagramme).

� Diagramm- und Zeichnungsfläche, Titel und Legende können wie beim

Liniendiagramm formatiert werden.

Abbildung 7.10 Formatiert: Flächen, Datenreihe, Titel

Abbildung 7.11 Formatiert: Legende

Page 62: Einstieg in VBA mit Excel - Amazon S3

7 Diagramme und Grafiken

222

� Bei den Datenreihen sieht es anders aus. Es gibt natürlich keine Markie-

rungen, dafür aber z. B.

Beschriftung – mit xlDataLabelsShowLabelAndPercent einen speziellen Beschriftungs-

typ und

Fläche – eine innere Fläche.

� Im vorliegenden Fall werden mit dem Beschriftungstyp die Daten-

punkte, deren Wert oberhalb einer Grenze (500.000 Stimmen) liegt, mit

Kategorie und Prozentzahl beschriftet. Außerdem wird die innere Fläche

eines Datenpunktes in Weiß dargestellt.

DataLabel � Die Eigenschaft DataLabel bestimmt über das Aussehen der Beschrif-

tung. Hier wurde festgelegt, dass die Prozentzahl mit zwei Nachkomma-

stellen dargestellt wird.

7.5 Shapes

Zeichnungs-objekte

Zeichnungsobjekte (Shapes) werden, wie eingebettete Diagramme, inner-

halb eines Tabellenblattes angeordnet. Die Auflistung Shapes liegt daher

auch in der Objekt-Hierarchie unterhalb von Worksheets und umfasst alle

Zeichnungsobjekte.

Wichtige Eigenschaften und Methoden der Auflistung Shapes sind:

� Count: Anzahl der Zeichnungsobjekte

AddShape() � AddShape(): Erzeugen der meisten Typen von Zeichnungsobjekten

� AddLine(): Erzeugen einer Linie

� AddConnector(): Erzeugen eines Verbinders

� BuildFreeform(): Erzeugen einer Freiform

Wie bei allen Auflistungen üblich, sind die Shapes eines Tabellenblattes in

der Reihenfolge ihrer Erzeugung durchnummeriert (Shapes(1), Shapes(2),

Shapes(3)...).

Einige der zahlreichen Möglichkeiten von Shapes werden in diesem

Abschnitt anhand von bekannten Autoformen wie Rechteck, Oval, Linie,

Verbinder und Freiform erläutert. Zur besseren Übersicht werden in

Abschnitt 7.5.6, »Alle Formen«, alle verschiedenen Formen von Shapes mit-

hilfe eines VBA-Programms dargestellt.

Page 63: Einstieg in VBA mit Excel - Amazon S3

Index

427

Index

- (minus) .................................................................... 113

! (Ausrufezeichen) ................................................. 381

% (Prozentzeichen), in SQL ............................... 351

& (Verkettung) ................................................ 44, 121

* (Multiplikation) ................................................... 113

* (Platzhalter) ................................................ 118, 303

+ (plus) ............................................................. 113, 260

. (Punkt) ..................................................................... 104

/ (Division) ............................................................... 114

< (kleiner) ................................................................. 117

in SQL .................................................................... 350

<= (kleiner oder gleich) ....................................... 117

in SQL .................................................................... 350

<> (ungleich) ........................................................... 118

in SQL .................................................................... 350

= (benannter Parameter) ....................................... 62

= (gleich) .................................................................... 118

in SQL .................................................................... 350

> (größer) .................................................................. 117

in SQL .................................................................... 350

>= (größer oder gleich) ........................................ 118

in SQL .................................................................... 350

? (Fragezeichen) ........................................... 118, 303

@ (Formatierung) ................................................. 381

@ Formatierung .................................................... 288

^ (hoch) ...................................................................... 115

_ (Unterstrich) ................................................. 66, 105

in SQL .................................................................... 351

A

Abfrage

Aktions- (SQL) .................................................... 344

Auswahl- (SQL) .................................................. 344

Ergebnis filtern (SQL) ...................................... 348

Ergebnis sortieren (SQL) ................................ 352

Abfrage (SQL) .......................................................... 343

Abfrageergebnis filtern (SQL) ........................... 349

Abläufe, parallele ................................................... 403

AbortRetryIgnore .................................................. 260

Absatz erzeugen (Word) ..................................... 316

Absolute Aufzeichnung ......................................... 38

Access

ADO-Bibliothek ................................................. 342

Access (Forts.)

Datenaustausch ................................................ 341

Verbindung herstellen .................................... 342

Activate(), Worksheets .......................................... 64

ActiveCell ............................................................. 35, 68

Address ................................................................... 71

ActiveChart .............................................................. 208

ActiveDocument (Word) .................................... 312

ActiveSheet .................................................. 25, 35, 60

UsedRange ............................................................. 88

ActiveWindow .......................................................... 65

DisplayGridlines .................................................. 65

DisplayHeadings ................................................. 65

ActiveWorkbook ............................................... 35, 54

ActiveX-Objekt erstellen (Word) ..................... 312

Add()

Attachments (Outlook) .................................. 326

ChartObjects ....................................................... 209

Charts .................................................................... 207

Collection ............................................................. 196

Documents (Word) ........................................... 316

Paragraphs (Word) ........................................... 316

SortFields ................................................................ 97

SparklineGroups ............................................... 243

Tables (Word) ..................................................... 318

Workbooks ............................................................ 51

Worksheets ............................................................ 60

AddColorScale(), FormatConditions .... 238, 240

AddConnector(), Shapes ........................... 222, 227

AddDatabar(), FormatConditions ................... 237

AddIconSetCondition(),

FormatConditions ............................................ 241

AddItem(), ComboBox ........................................ 378

Addition .................................................................... 113

AddLine(), Shapes ........................................ 222, 225

AddNodes(), FreeformBuilder .......................... 230

Address ............................................................ 394, 405

Zellbereich ............................................................. 71

AddShape() ............................................................... 233

Shapes ......................................................... 222, 223

ADO-Bibliothek, Access ...................................... 342

ADODB

Connection (Access) ............................... 343, 345

Recordset (Access) .................................. 344, 345

Page 64: Einstieg in VBA mit Excel - Amazon S3

Index

428

After

Diagrammblatt ................................................. 207

Tabellenblatt ........................................................ 62

Aktionsabfrage (SQL) .............. 344, 346, 355, 357

Aktivieren und selektieren .................................. 36

Aktualisierungsabfrage (SQL) ........................... 355

Alle Zellen ............................................................ 64, 71

Alt + F11 ........................................................................ 31

And .................................................................... 120, 306

AND (SQL) ................................................................. 350

Anführungszeichen, doppelte ........................... 78

Anweisung in mehreren Zeilen ....................... 105

Anwendung unterbrechen ................................ 284

Anzeigefenster ......................................................... 65

Apostroph ............................................................ 24, 34

Append ...................................................................... 301

Application ....................................................... 50, 198

Dialogs ........................................................ 323, 359

Documents (Word) ........................................... 312

GetNameSpace() (Outlook) ........................... 332

InputBox() ............................................................ 254

OnTime() .............................................................. 198

Outlook ................................................................. 326

Path ........................................................................ 198

Quit() ...................................................................... 199

Quit() (Outlook) ................................................. 326

Quit() (Word) ....................................................... 313

Run() ....................................................................... 182

ScreenUpdating ................................................. 279

Visible (Word) ..................................................... 312

Word ...................................................................... 312

Apply(), Sort ............................................................... 97

ApplyDataLabels()

Point ............................................................. 214, 222

Series ...................................................................... 214

AppointmentItem (Outlook)

Duration ............................................................... 339

GetRecurrencePattern() ................................. 341

Location ................................................................ 339

Outlook ................................................................. 339

Save() ..................................................................... 339

Start ........................................................................ 339

Subject ................................................................... 339

Arabic() ...................................................................... 294

Arabische Ziffern ................................................... 294

Arbeitsmappe ........................................................... 50

aktive ....................................................................... 54

aktivieren ............................................................... 56

Arbeitsmappe (Forts.)

Anzahl ...................................................................... 51

diese .......................................................................... 50

erzeugen ................................................................. 51

ist gesichert ........................................................... 57

laufende Nummer ............................................... 57

Name ................................................................. 53, 57

öffnen ....................................................................... 52

Pfad ........................................................................... 58

schließen ................................................................. 53

speichern ................................................................ 56

wird geöffnet ......................................................... 97

wird geschlossen ................................................. 98

Arbeitstage, berechnen ...................................... 281

Array() ........................................................................ 156

As ..................................................... 109, 165, 178, 190

Dateinummer .................................................... 297

New ............................................................... 192, 197

ASC (SQL) .................................................................. 352

Asc() ............................................................................ 394

Attachment (Outlook) ........................................ 335

Attachments

Add() (Outlook) ................................................. 326

Count (Outlook) ................................................ 334

MailItem (Outlook) ......................................... 326

Auflistung ............................................................ 50, 60

durchlaufen ........................................................ 194

eigene .................................................................... 196

Aufruf, zeitverzögerter ....................................... 198

Aufzeichnung

absolute .................................................................. 38

beenden ................................................................... 22

beginnen ................................................................. 21

relative .................................................................... 37

Ausgabe formatieren .......................................... 270

Ausgabe-Dialog ...................................................... 258

Auskommentieren ............................................... 104

Auswahlabfrage (SQL) ................................ 344, 348

Auswertungsreihenfolge .......................... 117, 123

AutoFilter(), Range ............................................... 200

AutoFit, Columns/Rows ........................................ 88

Axes ............................................................................ 213

Axes(), Chart ............................................................ 213

Axis ............................................................................. 213

AxisTitle ............................................................... 213

HasTitle ................................................................ 213

MaximumScale ................................................. 213

MinimumScale .................................................. 213

Page 65: Einstieg in VBA mit Excel - Amazon S3

Index

429

Axis (Forts.)

TickLabels ............................................................ 213

AxisTitle .................................................................... 213

B

BackColor, TextBox .............................................. 377

Balkendiagramm ................................................... 208

BarColor, FormatConditions ............................ 237

bas ............................................................................... 183

Bcc, MailItem (Outlook) ...................................... 328

Bearbeitungsmodus ............................................... 37

Bedingte Formatierung ...................................... 236

Bedingung ................................................................ 124

Before

Diagrammblatt ................................................. 207

Tabellenblatt ......................................................... 62

BeginConnect(), ConnectorFormat ............... 228

Benannter Parameter ................................... 62, 170

Benutzer ....................................................................... 18

-definierter Datentyp ...................................... 176

-eingaben ............................................................. 253

-führung ............................................................... 359

Bereich auswählen ................................................... 35

Bezeichnungsfeld .................................................. 369

Beziehung darstellen ........................................... 247

Bildlaufleiste ........................................................... 376

Eigenschaften .................................................... 378

Bildschirmaktualisierung ein/aus ................. 279

Bin2...() ....................................................................... 287

Binär ........................................................................... 287

Blatt, Tabelle und Diagramm ........................... 206

Blau ............................................................................. 113

Body, MailItem (Outlook) .................................. 326

Bold, Font .................................................................... 81

Boolean ........................................................... 107, 117

Border

Legend ................................................................... 213

Point ...................................................................... 214

Series ...................................................................... 214

Borders

Color ......................................................................... 84

InsideLineStyle (Word) ................................... 318

LineStyle .................................................................. 84

OutsideLineStyle (Word) ................................ 318

Range ....................................................................... 83

Table (Word) ....................................................... 318

Weight ...................................................................... 84

Breakpoint ................................................................ 146

BuildFreeform(), Shapes ........................... 222, 229

Button

_Click() .................................................................. 366

Abbrechen ............................................................ 260

erzeugen ........................................................ 36, 364

Ignorieren ............................................................ 260

Ja .............................................................................. 260

Nein ........................................................................ 260

OK ........................................................................... 259

Wiederholen ........................................................ 260

ByRef ........................................................................... 164

ByVal ........................................................................... 163

C

Cancel ......................................................................... 100

Caption, Steuerelement ...................................... 365

Carriage Return ........................................................ 44

Case Else .................................................................... 128

CDate() ....................................................................... 270

CDbl() .......................................................................... 269

Cell, Table (Word) ................................................... 314

Cells ........................................................................ 64, 71

Delete ....................................................................... 88

CenterFooter ............................................................. 68

CenterHeader ............................................................ 68

CenterHorizontally ................................................. 67

CenterVertically ....................................................... 67

Characters

Range ....................................................................... 82

TextFrame ............................................................ 225

Chart ........................................................................... 208

Axes() ..................................................................... 213

ChartArea ............................................................ 213

ChartTitle ............................................................. 213

ChartType .................................................. 208, 210

HasLegend ........................................................... 213

HasTitle ................................................................. 213

Legend ................................................................... 213

Name ..................................................................... 208

PlotArea ................................................................ 213

SeriesCollection() .............................................. 213

SetSourceData() ....................................... 208, 210

ChartArea

Chart ...................................................................... 213

Interior .................................................................. 213

Page 66: Einstieg in VBA mit Excel - Amazon S3

Index

430

ChartObject .............................................................. 208

Copy() .................................................................... 218

Delete() .................................................................. 218

Export() ................................................................. 219

Height .................................................................... 215

Left .......................................................................... 215

Top .......................................................................... 215

Width ..................................................................... 215

ChartObjects ............................................................ 208

Add() ....................................................................... 209

Charts ......................................................................... 206

(Index) ................................................................... 211

Add() ....................................................................... 207

Copy() .................................................................... 216

Delete() .................................................................. 217

Export() ................................................................. 217

ChartTitle

Chart ...................................................................... 213

Text ......................................................................... 213

ChartType, Chart .......................................... 208, 210

CheckBox .................................................................. 372

Value ...................................................................... 374

CInt() ........................................................................... 394

Clear()

Range ....................................................................... 74

SortFields ................................................................ 96

ClearContents(), Range .......................................... 74

ClearFormats(), Range ........................................... 74

Close Datei ............................................................... 297

Close()

Connection (Access) ............................... 343, 346

Recordset (Access) ............................................ 346

Workbooks ............................................................ 53

Code

-ansicht ................................................................. 366

exportieren ................................................ 183, 368

-fenster .................................................................... 33

importieren ............................................... 184, 368

-modul ..................................................................... 32

selbst schreiben ................................................... 41

Codefenster ................................................................ 97

Collection .................................................................. 196

Color

Borders .................................................................... 84

Font .......................................................................... 81

Interior .................................................................... 84

ColorScale ................................................................. 238

ColorScaleCriteria ................................................. 238

ColorScaleType ...................................................... 238

Column, Range ......................................................... 91

Columns

AutoFit ..................................................................... 88

Count (Word) ..................................................... 314

Range ....................................................................... 88

Table (Word) ....................................................... 314

ColumnWidth, Range ............................................. 88

ComboBox ............................................................... 376

_Change() ............................................................ 378

AddItem() ............................................................ 378

List(Index) ........................................................... 378

ListIndex .............................................................. 378

Style ....................................................................... 378

Text ........................................................................ 378

Connection (Access)

ADODB ........................................................ 343, 345

Close() .......................................................... 343, 346

ConnectionString .................................... 343, 346

Execute() ..................................................... 346, 347

Open() .......................................................... 343, 346

ConnectionString, Connection

(Access) ........................................................ 343, 346

ConnectorFormat

BeginConnect() .................................................. 228

EndConnect() ..................................................... 228

Shapes ................................................................... 228

ContactItem (Outlook) ....................................... 336

Email1Address ................................................... 336

FirstName ............................................................ 336

LastName ............................................................ 336

Save() ..................................................................... 337

Convert(), WorksheetFunction ....................... 285

ConvertToShape(), FreeformBuilder ............. 230

Copy()

ChartObject ........................................................ 218

Charts ................................................................... 216

Range ................................................................ 35, 72

Worksheets ............................................................ 61

Count

Attachments (Outlook) .................................. 334

Collection ............................................................ 196

Columns (Word) ................................................ 314

Items (Outlook) ................................................. 332

Range ....................................................................... 89

Rows (Word) ....................................................... 314

Shapes ................................................................... 222

Workbooks ............................................................. 51

Page 67: Einstieg in VBA mit Excel - Amazon S3

Index

431

Count(), WorksheetFunction ............................ 288

CountBlank(), WorksheetFunction ................ 288

CreateItem() (Outlook)

AppointmentItem ............................................ 339

ContactItem ....................................................... 337

MailItem .............................................................. 326

CreateObject()

Outlook ................................................................. 326

Word ...................................................................... 312

Critical ....................................................................... 260

csv ................................................................................ 298

CSV-Datei ........................................................ 298, 301

Cut(), Range ................................................. 24, 35, 72

D

DashStyle, Line ....................................................... 225

Databar ...................................................................... 237

DataLabel

NumberFormatLocal ...................................... 222

Point ...................................................................... 222

Date ............................................................................. 107

DateAdd() ................................................................. 275

DateDiff() .................................................................. 276

Datei

Änderungsdatum ............................................. 306

-attribut ................................................................ 306

-ende ...................................................................... 297

Funktionen .......................................................... 303

geöffnete ........................................... 387, 397, 408

Import, Export ................................................... 295

Information über .............................................. 305

kopieren ............................................................... 308

Länge ..................................................................... 306

löschen .................................................................. 308

Menü ........................................................................ 25

öffnen .................................................................... 297

Öffnen-Dialog .................................................... 360

-operationen ....................................................... 307

schließen .............................................................. 297

schreiben .................................................... 300, 301

Speichern-Dialog .............................................. 361

suchen ................................................................... 303

umbenennen ...................................................... 308

Zeile lesen ............................................................ 297

Zeile schreiben ................................................... 301

Dateiendung

bas .......................................................................... 183

Dateiendung (Forts.)

csv ........................................................................... 298

doc .......................................................................... 310

docx ........................................................................ 310

frm ................................................................ 183, 368

frx .................................................................. 183, 368

gif ............................................................................ 217

jpg ........................................................................... 217

png .......................................................................... 217

xls .............................................................................. 45

xlsb ........................................................................... 40

xlsm .......................................................................... 26

xlsx ........................................................................... 25

Dateityp ändern ....................................................... 47

Datenaustausch

Outlook ................................................................. 319

Textdatei .............................................................. 295

Word ...................................................................... 309

Datenbalken, bedingte Formatierung .......... 236

Datenbank, relationale ........................................ 341

Datenfeld .................................................................. 149

als Parameter ..................................................... 174

dynamisches ....................................................... 155

eindimensionales .............................................. 150

löschen .................................................................. 157

mehrdimensionales ......................................... 152

Obergrenze .......................................................... 174

statisches ............................................................. 149

umwandeln ......................................................... 272

Untergrenze ........................................................ 174

von Objekten ...................................................... 225

Datenquelle für Diagramm ..................... 208, 210

Datensatz

Access .................................................................... 344

aus Datei lesen ................................................... 297

Datentyp ......................................................... 106, 107

benutzerdefinierter .......................................... 176

einer Funktion .................................................... 165

erkennen ............................................................... 110

DateSerial() ............................................................... 276

Datum und Zeit

Datumsangabe erstellen ............................... 276

erkennen ............................................................... 270

Jahr ermitteln ..................................................... 279

letzter Tag im Monat ...................................... 278

Monat ermitteln ................................................ 279

Tag im Monat ermitteln ................................ 278

umwandeln ......................................................... 270

Page 68: Einstieg in VBA mit Excel - Amazon S3

Index

432

Datum und Zeit (Forts.)

Wochentag ermitteln ...................................... 276

Zeit addieren ....................................................... 275

Zeitdifferenz berechnen ................................. 276

Datum, Datentyp ................................................... 107

Datumsfilter ............................................................ 203

Day() ............................................................................ 278

DayofWeekMask, RecurrencePattern

(Outlook) .............................................................. 341

Debug ............................................................... 141, 144

Debug.Print ................................................................ 44

Dec2...() ....................................................................... 287

Default-Button ....................................................... 260

Deklaration .............................................................. 106

erforderlich ................................................... 31, 107

DELETE (SQL) ................................................. 344, 357

Delete()

Cells .......................................................................... 88

ChartObject ......................................................... 218

Charts .................................................................... 217

EntireRow/EntireColumn ................................ 87

FormatConditions ............................................ 236

Range ....................................................................... 86

Worksheets ............................................................ 63

DESC (SQL) ................................................................ 352

Description Err ....................................................... 143

Destination Range .................................................. 72

Dezimal ..................................................................... 287

Dezimalpunkt ......................................................... 109

Diagramm ................................................................ 205

Achse ...................................................................... 213

als Blatt erstellen .............................................. 206

ändern ................................................................... 210

Datenpunkt ......................................................... 214

Datenquelle ............................................... 208, 210

Datenreihe ................................................. 213, 214

Datenreihenbeschriftung .............................. 222

Datenreihenbeschriftungsformat .............. 222

Diagrammfläche ............................................... 213

Diagrammtyp .................................................... 221

eingebettetes ...................................................... 208

eingebettetes ändern ...................................... 215

eingebettetes exportieren ............................. 219

eingebettetes kopieren ................................... 218

eingebettetes löschen ..................................... 218

erstellen ................................................................ 206

hat Legende ......................................................... 213

hat Titel ................................................................. 213

Diagramm (Forts.)

Legende ................................................................ 213

nach Spalten/Zeilen ........................................ 208

Titel ........................................................................ 213

Typ ......................................................................... 210

Zeichnungsfläche ............................................. 213

Diagrammblatt ...................................................... 206

ändern .................................................................. 210

benennen ............................................................. 208

exportieren ......................................................... 217

kopieren ............................................................... 216

löschen ................................................................. 217

Diagrammrahmen ............................................... 208

Größe .................................................................... 215

neu erzeugen ...................................................... 209

Position ................................................................ 215

Dialogfeld ................................................................. 359

anzeigen .............................................................. 367

eigenes ........................................................... 33, 363

einfaches .............................................................. 258

erzeugen .............................................................. 364

initialisieren ....................................................... 373

integriertes ......................................................... 359

Makro ...................................................................... 23

Makro aufzeichnen ............................................ 39

modales ............................................................... 367

schließen .............................................................. 366

Speichern unter .................................................... 25

Start aus Tabellenblatt .................................. 367

Dialogs

Application ................................................ 323, 359

Show() .......................................................... 323, 359

DieseArbeitsmappe, Modul ................................. 33

Dim ............................................................................. 109

Dir() ............................................................................. 303

Direktfenster ................................................... 44, 145

Display(), MailItem (Outlook) .......................... 326

DisplayGridlines, ActiveWindow ...................... 65

DisplayHeadings, ActiveWindow ...................... 65

Division .................................................................... 114

durch 0 ................................................................. 141

Rest ........................................................................ 115

Do Until .................................................................... 134

Do While .......................................................... 133, 134

doc .............................................................................. 310

Documents (Word)

Add() ...................................................................... 316

Application ......................................................... 312

Page 69: Einstieg in VBA mit Excel - Amazon S3

Index

433

Documents (Word) (Forts.)

Open() .................................................................... 312

Paragraphs ......................................................... 312

SaveAs() ................................................................ 316

Tables .................................................................... 314

docx ............................................................................ 310

DoEvents() ...................................................... 284, 403

Dokument (Word)

erzeugen ............................................................... 316

speichern .............................................................. 316

Double ....................................................................... 107

Drehfeld .................................................................... 376

Drucken, Seiteneinrichtung ................................ 66

Duration, AppointmentItem (Outlook) ....... 339

E

Eigenschaft ................................................................. 49

Eigenschaften-Fenster ....................... 32, 364, 369

Einfügeabfrage (SQL) ........................................... 357

Eingaben des Benutzers ..................................... 253

Einheit umrechnen .............................................. 285

Einrückung .............................................................. 104

Einzelschrittverfahren ........................................ 144

Else .............................................................................. 124

ElseIf ........................................................................... 125

E-Mail (Outlook)

Anhang ....................................................... 326, 335

Anzahl Anhänge ............................................... 334

anzeigen ............................................................... 326

Betreff .................................................................... 326

Dialogfeld anzeigen ........................................ 323

einfaches Senden .............................................. 321

Empfänger ................................................. 322, 326

erzeugen ..................................................... 324, 326

Inhalt ..................................................................... 326

Kopieempfänger ............................................... 328

senden ................................................................... 326

Serie erzeugen .................................................... 326

Zellbereich senden ............................................ 328

Email1Address, ContactItem ............................ 336

Empty ......................................................................... 193

EncodeURL() ............................................................ 290

End If .......................................................................... 126

End Select ................................................................. 128

End Sub ....................................................... 24, 35, 160

End Type ................................................................... 177

End With ................................................................... 188

EndConnect(), ConnectorFormat .................... 228

Endung

bas ........................................................................... 183

csv ........................................................................... 298

doc .......................................................................... 310

docx ........................................................................ 310

frm ................................................................ 183, 368

frx .................................................................. 183, 368

gif ............................................................................ 217

jpg ........................................................................... 217

png .......................................................................... 217

xls .............................................................................. 45

xlsb ........................................................................... 40

xlsm .......................................................................... 26

xlsx ........................................................................... 25

EntireColumn

Insert() ..................................................................... 86

Range ................................................................ 86, 87

EntireRow

Insert() ..................................................................... 86

Range ................................................................ 86, 87

Entwickler ................................................................... 18

Entwicklungsumgebung ...................................... 31

EOF() ............................................................................ 297

EOF, Recordset (Access) ....................................... 346

EoMonth(), WorksheetFunction ..................... 278

Erase ............................................................................ 157

Ereignis ................................................................. 49, 97

Ereignisprozedur ............................................ 97, 365

Err ................................................................................ 143

Excel

Datei ......................................................................... 50

eigene Funktion ....................................... 159, 165

schließen .............................................................. 199

vor 2007 ................................................................. 45

Excel-Optionen ........................................................ 28

Exclamation ............................................................ 260

Execute(), Connection (Access) .............. 346, 347

Exit Do ............................................................. 134, 137

Exit For ....................................................................... 130

Exit Function ........................................................... 165

Exit Sub ............................................................ 143, 160

Export

in Datei ....................................................... 300, 301

Word ............................................................ 315, 316

Export()

ChartObject ......................................................... 219

Charts .................................................................... 217

Page 70: Einstieg in VBA mit Excel - Amazon S3

Index

434

F

F1 ......................................................................... 103, 191

F2 .................................................................................. 185

F5 ................................................................. 33, 146, 367

F8 .................................................................................. 144

F9 .................................................................................. 146

False .................................................................. 107, 117

Farbe .................................................................... 81, 112

Farbskala, bedingte Formatierung ....... 237, 239

Fehler

-behandlung ....................................................... 139

logischer ............................................................... 144

-objekt ................................................................... 143

vermindern ............................................................ 32

Feld von Variablen ................................................ 149

FileCopy() .................................................................. 308

FileDateTime() ........................................................ 306

FileLen() ..................................................................... 306

Fill

ForeColor .............................................................. 224

Shape ..................................................................... 224

Filter ............................................................................ 200

mehrere Kategorien ......................................... 203

mit Platzhalter ................................................... 203

mit Vergleich ...................................................... 201

über zwei Spalten ............................................. 202

verknüpfter ......................................................... 201

FilterXML() ............................................................... 291

FirstName, ContactItem (Outlook) ................ 336

FitToPagesTall, PageSetup ................................... 67

FitToPagesWide, PageSetup ................................ 67

fmOrientationHorizontal .................................. 378

fmOrientationVertical ........................................ 379

fmSpecialEffectSunken ....................................... 379

fmStyleDropDownList ........................................ 378

Folder (Outlook) ..................................................... 332

Items ...................................................................... 332

Font

Bold .......................................................................... 81

Color ......................................................................... 81

Italic ......................................................................... 81

Name ....................................................................... 81

Range ....................................................................... 80

Size ............................................................................ 81

Subscript ................................................................. 82

Superscript ............................................................ 82

Underline ............................................................... 81

For Each .................................................................... 194

For Next ........................................................... 130, 151

ForeColor

Fill ........................................................................... 224

Line ........................................................................ 224

Format() ........................................................... 270, 379

FormatColor, ColorScaleCriteria .................... 238

FormatConditions ................................................ 236

Formatierung ......................................................... 270

bedingte ............................................................... 236

schachteln ........................................................... 381

Formel

Eingabe ................................................................ 256

lesen ....................................................................... 252

prüfen ................................................................... 252

zuweisen .............................................................. 251

Formula .................................................................... 251

FormulaLocal .......................................................... 251

Range ............................................................. 76, 249

FormulaR1C1 ........................................................... 251

FormulaR1C1Local ................................................. 252

Frame ......................................................................... 372

FreeformBuilder

AddNodes() ......................................................... 230

ConvertToShape() ............................................ 230

Freiform ........................................................... 222, 228

Knoten hinzufügen ......................................... 230

umwandeln ........................................................ 230

frm ..................................................................... 183, 368

frx ....................................................................... 183, 368

Function ................................................................... 164

Funktion ................................................ 159, 164, 249

aufrufen ............................................................... 165

aufrufen in anderer Datei ............................. 179

G

Ganze Zahl ............................................................... 107

Ganzzahldivision .................................................. 114

Gelb ............................................................................ 112

Geschachteltes With ............................................ 189

Gesendete Objekte, Outlook ............................ 330

GetAttr() .................................................................... 306

GetDefaultFolder(), Namespace

(Outlook) ............................................................. 332

GetNameSpace(), Application (Outlook) ..... 332

GetRecurrencePattern(), AppointmentItem

(Outlook) ............................................................. 341

Page 71: Einstieg in VBA mit Excel - Amazon S3

Index

435

gif ................................................................................. 217

Gleich ......................................................................... 118

SQL ......................................................................... 350

Gleitkommazahl .................................................... 107

GoTo ........................................................................... 143

Größer als ................................................................. 117

SQL ......................................................................... 350

GroupItems, Shape ............................................... 248

Grün ........................................................................... 112

Gültigkeitsbereich .......... 106, 147, 162, 389, 399

benutzerdefinierter Datentyp ..................... 178

Prozeduren/Funktionen ................................ 180

H

Haltepunkt ............................................................... 146

HasLegend, Chart .................................................. 213

HasTitle

Axis ........................................................................ 213

Chart ...................................................................... 213

Height

ChartObject ......................................................... 215

Steuerelement .................................................... 368

Hex2...() ...................................................................... 287

Hexadezimal ........................................................... 287

Hierarchie darstellen ........................................... 247

Hilfe .................................................................. 103, 186

Hochformat ................................................................ 67

Hochstellen ................................................................ 82

HorizontalAlignment, Range .............................. 80

I

IconCriteria, FormatConditions ...................... 241

IconSet, FormatConditions ............................... 241

IconSetCondition .................................................. 241

If

Block ...................................................................... 125

einzeiliges ............................................................ 124

Import

aus Datei .................................................... 295, 297

Word ............................................................ 311, 313

In .................................................................................. 194

Index

Charts .................................................................... 211

Datenfeld ............................................................. 151

eindeutiger (Access) ......................................... 342

Index (Forts.)

Items (Outlook) .................................................. 332

Points ..................................................................... 214

SeriesCollection ................................................. 214

Shapes ................................................................... 222

Workbooks ............................................................ 57

Worksheets ............................................................ 60

Information ............................................................. 260

Innenbereich ............................................................. 84

Input, Datei lesen .................................................. 297

InputBox()

Application .......................................................... 254

einfache ................................................................ 253

INSERT (SQL) .................................................. 344, 357

Insert()

EntireRow/EntireColumn ................................ 86

Range ....................................................................... 85

InsideLineStyle, Borders (Word) ...................... 318

InStr() .......................................................................... 268

Integer ........................................................................ 107

Integriert

Dialogfeld ............................................................ 359

Konstante ............................................................ 112

Interior

ChartArea ............................................................ 213

Color ......................................................................... 84

Legend ................................................................... 213

PlotArea ................................................................ 213

Range ....................................................................... 84

Is ................................................................................... 128

IsDate() ....................................................................... 270

IsFormula() ............................................................... 252

IsNumeric() .............................................................. 269

IsoWeekNum() ........................................................ 281

Italic, Font ................................................................... 81

Items (Outlook)

(Index) ................................................................... 332

Count ..................................................................... 332

Folder ..................................................................... 332

J

Jahreskalender ........................................................ 278

Join() .................................................................. 272, 301

jpg ................................................................................ 217

Page 72: Einstieg in VBA mit Excel - Amazon S3

Index

436

K

Kalenderwoche ....................................................... 281

Key1, Sortierschlüssel ............................................ 95

Kill() ............................................................................. 308

Klammerausdruck ...................................... 117, 123

Klassenmodul .................................................... 33, 97

Kleiner als ................................................................. 117

SQL .......................................................................... 350

Kombinationsfeld ................................................. 376

aktuelles Element ............................................. 378

Auswahl wechselt ............................................. 378

Elementnummer ............................................... 378

füllen ...................................................................... 378

Text des aktuellen Elements ......................... 378

Kommentar ............................................... 24, 34, 104

Kompatibilitätsprüfung ....................................... 47

Komponente ........................................................... 176

Konstante ................................................................. 111

integrierte ............................................................ 112

Kontakt

erzeugen (Outlook) .......................................... 336

speichern (Outlook) ......................................... 337

Kontrollausgabe ...................................................... 41

Kontrollkästchen ................................................... 372

Kontrollstruktur .......................................... 124, 129

Korrektur, automatische .................................... 103

Kreisdiagramm ...................................................... 208

L

Label ............................................................................ 369

SpecialEffect ........................................................ 379

Large() ......................................................................... 292

LargeChange, ScrollBar ....................................... 379

LastName, ContactItem (Outlook) ................. 336

Laufzeitfehler ................................................ 140, 295

lbl ................................................................................. 370

LBound() .................................................................... 174

Leerzeile .................................................................... 103

Left

ChartObject ......................................................... 215

Steuerelement .................................................... 368

Left() ............................................................................ 267

LeftFooter, PageSetup ............................................ 68

LeftHeader, PageSetup .......................................... 68

Legend

Border .................................................................... 213

Legend (Forts.)

Chart ..................................................................... 213

Interior ................................................................. 213

Len() ............................................................................ 267

Like ............................................................................. 118

LIKE (SQL) ................................................................. 351

Line

DashStyle ............................................................. 225

ForeColor ............................................................. 224

Shape ..................................................................... 224

TextFrame ........................................................... 225

Weight .................................................................. 224

Line Feed ..................................................................... 44

Line Input ................................................................. 297

LineStyle, Borders .................................................... 84

Linie ................................................................... 222, 225

Liniendiagramm ................................................... 208

Linksbündig ............................................................ 381

List(Index), ComboBox ....................................... 378

ListBox ...................................................................... 376

Listenfeld ................................................................. 376

aktuelles Element ............................................. 378

Auswahl wechselt ............................................ 378

Elementnummer .............................................. 378

füllen ..................................................................... 378

Text des aktuellen Elements ........................ 378

ListIndex, ComboBox ......................................... 378

Location, AppointmentItem (Outlook) ....... 339

Locked, TextBox .................................................... 377

Logischer Fehler .................................................... 144

Logischer Operator .............................................. 120

Lokale Variable ...................................................... 147

Long ............................................................................ 107

Loop ................................................................... 134, 137

Loop Until ....................................................... 134, 137

Loop While ...................................................... 133, 136

Löschabfrage (SQL) ............................................... 357

M

Magenta .................................................................... 113

MailItem (Outlook) .............................................. 326

Attachments ...................................................... 326

Bcc .......................................................................... 328

Body ....................................................................... 326

Display() ............................................................... 326

Send() .................................................................... 326

Subject .................................................................. 326

Page 73: Einstieg in VBA mit Excel - Amazon S3

Index

437

MailItem (Outlook) (Forts.)

To ............................................................................ 326

Makro ............................................................................ 17

aktivieren ................................................................ 27

ansehen, vor 2007 ............................................... 46

aufzeichnen ........................................................... 20

aufzeichnen, Diagramm ................................ 210

aufzeichnen, vor 2007 ....................................... 45

ausführen ............................................................... 23

ausführen nicht möglich .................................. 27

ausführen per Button ........................................ 36

ausführen, vor 2007 ........................................... 46

deaktivieren ........................................................... 27

geht verloren ......................................................... 25

Name ................................................................ 21, 23

Sicherheit, vor 2007 ............................................ 47

speichern ................................................................. 25

speichern, vor 2007 ............................................ 46

überall benutzen .................................................. 39

Verzeichnis aktivieren ....................................... 29

zuweisen ................................................................. 36

Makrocode

ansehen ................................................................... 23

verändern ............................................................... 34

verstehen ................................................................ 34

Makrosicherheit ....................................................... 26

Button ...................................................................... 29

MarkerBackgroundColor

Point ...................................................................... 214

Series ...................................................................... 214

MarkerForegroundColor

Point ...................................................................... 214

Series ...................................................................... 214

MarkerStyle

Point ...................................................................... 214

Series ...................................................................... 214

Max() .......................................................................... 292

Max, ScrollBar ......................................................... 378

MaximumScale, Axis ........................................... 213

Me ................................................................................ 366

Mehrfachauswahl ................................................. 127

Memory .................................................................... 385

MergeCells ..................................................... 388, 399

Range ....................................................................... 80

Methode ............................................................. 49, 159

Mid() ................................................................. 267, 394

Min() ........................................................................... 292

Min, ScrollBar ......................................................... 378

Minidiagramm ....................................................... 243

MinimumScale, Axis ............................................ 213

Mod ............................................................................. 115

Modales Dialogfeld ............................................... 367

Modul

DieseArbeitsmappe ............................................ 33

einfügen .................................................................. 32

exportieren ................................................ 183, 368

importieren ............................................... 184, 368

löschen .................................................................. 183

Tabelle1 ................................................................... 33

Modularisierung .......................................... 159, 179

Modulo ...................................................................... 115

Modulweit, Variable ............................................. 147

Month() ...................................................................... 279

Move(), Worksheets ................................................ 62

MoveNext(), Recordset (Access) ...................... 346

MRound() .................................................................. 293

MsgBox() ............................................................ 43, 258

msoAutoShapeType ............................................. 223

msoConnectorStraight ....................................... 227

msoConnectorType .............................................. 227

msoEditingAuto ..................................................... 229

msoEditingType ..................................................... 229

msoLineDash .......................................................... 225

msoLineDashStyle ................................................ 225

msoSegmentCurve ............................................... 230

msoSegmentLine .................................................. 230

msoSegmentType ................................................. 230

msoShapeOval ........................................................ 224

msoShapeRectangle ............................................. 223

Multiplikation ......................................................... 113

Mustervergleich ..................................................... 118

N

Nachrichtenbox ....................................................... 43

Name

Chart ...................................................................... 208

Font .......................................................................... 81

von Variablen ..................................................... 106

Workbook .............................................................. 53

Name(), Datei umbenennen ............................. 308

Namensraum, Outlook ....................................... 332

Namespace, GetDefaultFolder() (Outlook) .. 332

NetworkDays() ........................................................ 281

NetworkDays_Intl() .............................................. 282

New ............................................................................. 192

Page 74: Einstieg in VBA mit Excel - Amazon S3

Index

438

Next .................................................................. 130, 194

Nicht

logisches ............................................................... 120

logisches (SQL) ................................................... 350

Nordwind.mdb ....................................................... 200

Not ............................................................................... 120

NOT (SQL) ................................................................. 350

Nothing ..................................................................... 191

Now() .......................................................................... 199

NumberFormatLocal ........................................... 288

DataLabel ............................................................ 222

Range ....................................................................... 77

TickLabels ............................................................ 213

O

Object ............................................................... 107, 190

Objekt

allgemeines ......................................................... 185

-ansicht ................................................................. 366

Grundlagen ........................................................... 49

Haupt- ..................................................................... 50

kurzer Zugriff ...................................................... 188

neu erzeugen ............................................ 192, 197

referenzieren ....................................................... 187

Typ ermitteln ...................................................... 193

Verweis .................................................................. 190

Objektbibliothek

Access .................................................................... 342

Outlook ................................................................. 320

Word ...................................................................... 310

Objekthierarchie ............................ 50, 65, 187, 198

Outlook ................................................................. 319

Word ...................................................................... 309

Objektkatalog .......................................................... 185

Objektmodellreferenz ......................................... 186

Objektorientierung ................................................. 49

Objektvariable ........................................................ 190

Oct2...() ....................................................................... 287

Oder

logisches ............................................................... 120

logisches (SQL) ................................................... 350

Office-Schaltfläche .................................................. 25

Offset ............................................................................ 38

Range ....................................................................... 91

Oktal ........................................................................... 287

olContactItem ......................................................... 337

olFolderContacts ................................................... 336

olFolderSentMail .................................................. 332

olMonday ................................................................. 341

olRecursDaily ......................................................... 341

olRecursMonthly .................................................. 341

olRecursWeekly ..................................................... 341

olTuesday ................................................................. 341

On Error ........................................................... 140, 143

OnTime(), Application ........................................ 198

Open()

Connection (Access) ............................... 343, 346

Documents (Word) .......................................... 312

Workbooks ............................................................. 52

Open, Datei ..................................................... 297, 301

Operator ................................................................... 113

arithmetischer ................................................... 113

logischer .............................................................. 120

Operator (SQL) ....................................................... 350

Operatorenrangfolge .......................................... 167

Option Explicit ................................................ 32, 107

Optional .................................................................... 168

Optionsschaltfläche ............................................. 372

voreinstellen ...................................................... 373

Or ........................................................................ 120, 260

OR (SQL) .................................................................... 350

ORDER BY (SQL) ..................................................... 352

Order1, Sortierrichtung ......................................... 95

Orientation

PageSetup .............................................................. 67

Range ....................................................................... 80

ScrollBar .............................................................. 378

SpinButton .......................................................... 379

Outlook

Application ......................................................... 326

AppointmentItem ............................................ 339

Attachment ........................................................ 335

ContactItem ....................................................... 336

CreateItem() (AppointmentItem) .............. 339

CreateItem() (ContactItem) ......................... 337

CreateItem() (MailItem) ................................ 326

Datenaustausch ............................................... 319

E-Mail erzeugen ................................................ 324

Folder .................................................................... 332

Gesendete Objekte ........................................... 330

Kontakt erzeugen ............................................ 336

Kontakteigenschaften ................................... 336

MailItem .............................................................. 326

Namensraum ..................................................... 332

Objektbibliothek ............................................... 320

Page 75: Einstieg in VBA mit Excel - Amazon S3

Index

439

Outlook (Forts.)

Objekthierarchie ............................................... 319

RecurrencePattern ........................................... 341

starten ................................................................... 326

Termin erzeugen ............................................... 337

Termineigenschaften ...................................... 339

Terminserie erzeugen ..................................... 339

Terminwiederholung ...................................... 341

Verzeichnis ermitteln ...................................... 332

Verzeichniseintrag ........................................... 332

Zugriff erlauben/verweigern ....................... 321

Output, Datei schreiben ..................................... 301

OutsideLineStyle, Borders (Word) .................. 318

Oval ............................................................................. 224

P

PageSetup

CenterHorizontally ............................................. 67

CenterVertically ................................................... 67

FitToPagesTall ...................................................... 67

FitToPagesWide ................................................... 67

Footer ....................................................................... 68

Header ..................................................................... 68

Orientation ............................................................ 67

PrintGridlines ........................................................ 67

PrintHeadings ....................................................... 67

Worksheets ............................................................. 66

Zoom ........................................................................ 67

Paragraphs (Word)

Add() ...................................................................... 316

Documents .......................................................... 312

Range .................................................................... 312

Parallele Aktionen ................................................ 284

ParamArray ............................................................. 172

Parameter ................................................................. 159

beliebig viele ....................................................... 172

benannter ..................................................... 62, 170

ist Datenfeld ....................................................... 174

optionale .............................................................. 168

Übergabe ............................................................. 163

Paste() ................................................................... 25, 35

PasteSpecial(), Range .............................................. 73

Path

Application ......................................................... 198

Workbook ............................................................... 58

PatternEndDate, RecurrencePattern

(Outlook) .............................................................. 341

PatternStartDate, RecurrencePattern

(Outlook) .............................................................. 341

Pause ........................................................................... 284

personal.xls ................................................................ 48

personal.xlsb ............................................................. 40

Persönliche Makroarbeitsmappe .............. 39, 51

vor 2007 ................................................................. 48

Perzentil .................................................................... 240

Pfad, Installation .................................................... 198

Platzhalter

Dateiname ........................................................... 303

Zeichenkette ........................................................ 118

Platzhalter (SQL) .................................................... 351

PlotArea

Chart ...................................................................... 213

Interior .................................................................. 213

png ............................................................................... 217

Point ........................................................................... 214

ApplyDataLabels() .................................. 214, 222

Border .................................................................... 214

DataLabel ............................................................ 222

MarkerBackgroundColor ............................... 214

MarkerForegroundColor ............................... 214

MarkerStyle ......................................................... 214

Points ......................................................................... 214

(Index) ................................................................... 214

SparklineGroups ............................................... 246

Points(), Series ........................................................ 214

Potenzierung ........................................................... 115

Preserve ..................................................................... 155

Primärschlüssel, Tabelle (Access) ................... 342

Print, Dateizeile schreiben ................................ 301

PrintGridlines, PageSetup .................................... 67

PrintHeadings, PageSetup ................................... 67

Priorität der Operatoren .................................... 122

Private Function .................................................... 180

Private Sub ............................................................... 180

Private Type ............................................................. 178

Programm

anhalten ............................................................... 146

unterbrechen ...................................................... 284

Programmabbruch ............................................... 140

Programmierstil .................................................... 103

Programmzeile in mehreren Zeilen .............. 105

Projekt-Explorer ...................................................... 32

Projektweite Variable .......................................... 147

Prozedur ................................................... 42, 159, 160

aufrufen ................................................................ 160

Page 76: Einstieg in VBA mit Excel - Amazon S3

Index

440

Prozedur (Forts.)

aufrufen in anderer Datei ............................. 179

Name ....................................................................... 43

Prozess darstellen ................................................. 247

Public .......................................................................... 147

Public Type ............................................................... 178

Punkt nach Objektname .................................... 104

Q

Querformat ................................................................ 67

Question ................................................................... 260

Quit()

Application .......................................................... 199

Application (Outlook) ..................................... 326

R

RadioButton ............................................................ 372

Value ...................................................................... 374

Rahmen ..................................................................... 372

Liniendicke ............................................................ 84

Linienfarbe ............................................................ 84

Linienstil ................................................................. 84

Randomize ............................................................... 135

Randomize() .................................................. 391, 403

Range ....................................................... 24, 35, 50, 68

Borders .................................................................... 83

Cells .......................................................................... 71

Characters ............................................................. 82

Clear() ...................................................................... 74

ClearContents() .................................................... 74

ClearFormats() ..................................................... 74

Column ................................................................... 91

Columns ................................................................. 88

ColumnWidth ....................................................... 88

Copy() ...................................................................... 72

Count ....................................................................... 89

Cut() .......................................................................... 72

Delete() .................................................................... 86

EntireColumn ................................................ 86, 87

EntireRow ....................................................... 86, 87

Font .......................................................................... 80

FormulaLocal .............................................. 76, 249

HorizontalAlignment ....................................... 80

Insert() ..................................................................... 85

Interior .................................................................... 84

MergeCells ............................................................. 80

Range (Forts.)

NumberFormatLocal ......................................... 77

Offset ........................................................................ 91

Orientation ............................................................ 80

Paragraphs (Word) .......................................... 312

PasteSpecial() ........................................................ 73

Row ........................................................................... 91

RowHeight ............................................................. 88

Rows ......................................................................... 88

Select() ..................................................................... 71

Sort ............................................................................ 94

SpecialCells ............................................................ 89

Value .......................................................... 42, 71, 76

VerticalAlignment .............................................. 80

WrapText ................................................................ 80

Rangfolge ................................................................. 167

Rangfolge der Operatoren ................................. 122

Rechteck ................................................................... 223

Rechtsbündig ......................................................... 381

Recordset (Access)

ADODB ........................................................ 344, 345

Close() ................................................................... 346

EOF ......................................................................... 346

Feld erreichen .................................................... 346

MoveNext() ......................................................... 346

RecurrencePattern (Outlook) ........................... 341

DayofWeekMask .............................................. 341

PatternEndDate ................................................ 341

PatternStartDate .............................................. 341

RecurrenceType ................................................ 341

RecurrenceType ..................................................... 341

ReDim ........................................................................ 155

RefEdit ....................................................................... 381

Referenz, Übergabe per ...................................... 163

Referenzierung, Objekt ...................................... 187

Registerkarte

Ansicht .................................................................... 21

Entwicklertools ............................................. 28, 29

Relationale Datenbank ....................................... 341

Relative Aufzeichnung .......................................... 37

Relativer Zellbezug ............................................... 251

Remove(), Collection ........................................... 196

Replace(), WorksheetFunction ........................ 268

RerouteConnections(), Shapes ........................ 228

Resume Next .......................................................... 143

RetryCancel ............................................................. 260

RGB() ................................................................... 81, 113

Right() ........................................................................ 267

Page 77: Einstieg in VBA mit Excel - Amazon S3

Index

441

RightFooter, PageSetup ......................................... 68

RightHeader, PageSetup ........................................ 68

Ringtausch ............................................................... 164

Rnd() ........................................................ 134, 391, 404

Roman() .................................................................... 294

Römische Ziffern ................................................... 294

Rot ............................................................................... 112

Rotation, Shape ...................................................... 224

Round() ...................................................................... 293

RoundDown() ......................................................... 293

RoundUp() ................................................................ 293

Row, Range .................................................................. 91

RowHeight, Range ................................................... 88

Rows

AutoFit ..................................................................... 88

Count (Word) ...................................................... 314

Range ....................................................................... 88

Table (Word) ....................................................... 314

Rückgabewert ............................................... 159, 165

Run(), Application ................................................. 182

Runden ...................................................................... 293

S

Säulendiagramm ................................................... 208

Save() (Outlook)

AppointmentItem ............................................ 339

ContactItem ....................................................... 337

SaveAs(), Documents (Word) ............................ 316

Schädlicher VBA-Code ............................................ 26

Schaltfläche ................................................................ 36

Schaltjahr ................................................................. 167

Schattierung ............................................................ 234

Schleife ............................................................ 129, 194

bedingungsgesteuerte .................................... 133

geschachtelte ..................................................... 153

kopf-/fußgesteuerte ........................................ 134

zählergesteuerte ............................................... 130

Schriftart, Eigenschaften ....................................... 80

Schrittweite ............................................................. 130

negative ............................................................... 132

Schwarz ..................................................................... 112

ScreenUpdating, Application ........................... 279

ScrollBar .................................................................... 376

Change() ............................................................... 379

Eigenschaften .................................................... 378

Search(), WorksheetFunction ........................... 268

Select ..................................................................... 24, 35

SELECT (SQL) ........................................ 344, 346, 348

Select Case ................................................................ 127

Select(), Range ........................................................... 71

Selection ............................................................... 24, 35

Send(), MailItem (Outlook) ................................ 326

SendMail(), Workbook ......................................... 322

Series .......................................................................... 213

ApplyDataLables() ............................................ 214

Border .................................................................... 214

MarkerBackgroundColor ............................... 214

MarkerForegroundColor ............................... 214

MarkerStyle ......................................................... 214

Points() .................................................................. 214

SeriesCollection ..................................................... 213

(Index) ................................................................... 214

SeriesCollection(), Chart ..................................... 213

SeriesColor, SparkLineGroups ......................... 245

Set ................................................................................ 191

SetRange(), Sort ........................................................ 97

SetSourceData(), Chart .............................. 208, 210

Shape .......................................................................... 222

Fill ............................................................................ 224

Line ......................................................................... 224

Rotation ................................................................ 224

Shapes ........................................................................ 222

(Index) ................................................................... 222

AddConnector() ....................................... 222, 227

AddLine() .................................................... 222, 225

AddShape() ................................................ 222, 223

alle .......................................................................... 231

BuildFreeform() ....................................... 222, 229

ConnectorFormat ............................................. 228

Count ..................................................................... 222

RerouteConnections() ..................................... 228

Sheets ......................................................................... 206

Shift + F2 .......................................................... 110, 162

Shift, Zellen verschieben ............................... 85, 86

Show()

Dialogs ........................................................ 323, 359

UserForm ............................................................. 367

Sicherheitscenter ..................................................... 29

Sicherheitswarnung ............................................... 27

Single .......................................................................... 107

Size, Font ..................................................................... 81

Small() ........................................................................ 292

SmallChange

ScrollBar ............................................................... 379

SpinButton .......................................................... 379

Page 78: Einstieg in VBA mit Excel - Amazon S3

Index

442

SmartArt ................................................................... 247

Snake .......................................................................... 395

Sort

Objekt ...................................................................... 96

Range ....................................................................... 94

SortFields, Sort .......................................................... 96

Sortierschlüssel ............................................... 96, 189

Spaltennummer ....................................................... 71

Sparkline ................................................................... 243

alle Farben ........................................................... 246

formatieren ......................................................... 245

Gewinn/Verlust ................................................. 244

Linie ........................................................................ 243

Spalte ..................................................................... 244

SparkLineGroups ................................................... 243

SpecialCells, Range .................................................. 89

SpecialEffect, Label ................................................ 379

Speicherbedarf ............................................. 106, 107

Spiegelung ................................................................ 234

SpinButton ............................................................... 376

Eigenschaften ..................................................... 379

Split() ................................................................ 273, 298

SQL ............................................................................... 343

Fehlersuche ......................................................... 354

SQL-Befehl, senden ..................................... 346, 347

Start, AppointmentItem (Outlook) ................ 339

Statusleiste ................................................................. 22

Step .............................................................................. 130

Steuerelement

Abstand links ...................................................... 368

Abstand oben ..................................................... 368

Bezeichnungsfeld .............................................. 369

Bildlaufleiste ....................................................... 376

Breite ...................................................................... 368

Drehfeld ................................................................ 376

erzeugen ............................................................... 364

Farbe ...................................................................... 377

formatieren ......................................................... 369

Höhe ....................................................................... 368

Kombinationsfeld ............................................. 376

Kontrollkästchen .............................................. 372

kopieren ................................................................ 369

Listenfeld .............................................................. 376

Name ..................................................................... 365

Optionsschaltfläche ........................................ 372

Rahmen ................................................................ 372

RefEdit ................................................................... 381

-sammlung ............................................................ 36

Steuerelement (Forts.)

Textfeld ................................................................ 369

Titel ........................................................................ 365

ToggleButton ..................................................... 382

Wert ermitteln ................................................... 369

Zahl formatieren .............................................. 379

Strg .............................................................................. 100

Strg + Shift + F2 ............................................. 110, 162

String ......................................................................... 108

Structured Query Language ............................. 343

Style, ComboBox ................................................... 378

Sub ................................................................ 24, 35, 160

Sub/UserForm ausführen .................................... 33

Subject

AppointmentItem (Outlook) ....................... 339

MailItem (Outlook) ......................................... 326

Sub-Prozedur ............................................................. 41

Subscript, Font .......................................................... 82

Subtraktion ............................................................. 113

Suchmuster, Dateiname .................................... 303

Superscript, Font ...................................................... 82

Symbol

Aufzeichnung beenden ..................................... 22

Aufzeichnung beginnen ................................... 22

Auskommentierung aufheben ................... 104

Block auskommentieren ............................... 104

grüner Pfeil ............................................................ 34

Symbolleiste

bearbeiten .............................................................. 31

Visual Basic ........................................................... 47

Voreinstellung ...................................................... 31

Symbolsatz

alle .......................................................................... 242

bedingte Formatierung ................................. 240

Syntaxfehler ........................................................... 139

SystemModal .......................................................... 260

T

Tabelle

erzeugen (Word) ............................................... 318

Rahmen (Word) ................................................. 318

Tabelle1, Modul ......................................................... 33

Tabellenblatt ....................................................... 50, 60

aktives ..................................................................... 60

aktivieren ............................................................... 64

alle Zellen ........................................................ 64, 71

Druck skalieren .................................................... 67

Page 79: Einstieg in VBA mit Excel - Amazon S3

Index

443

Tabellenblatt (Forts.)

Druck zentrieren .................................................. 67

Druckformat .......................................................... 67

Druckgröße anpassen ........................................ 67

Druckinformationen .......................................... 68

erzeugen .................................................................. 60

Gitternetzlinien ............................................ 65, 67

Kopf-/Fußzeile ...................................................... 68

kopieren .................................................................. 61

laufende Nummer ............................................... 60

löschen ..................................................................... 63

Name ........................................................................ 60

Seiteneinrichtung ................................................ 66

strukturieren ......................................................... 85

Überschriften Zeile/Spalte ....................... 65, 67

verschieben ............................................................ 62

wird aktiviert ......................................................... 99

wurde neu berechnet ...................................... 101

Tabellenfunktion .................................................. 249

Tabellenstruktur, Access .................................... 341

Table (Word) ............................................................ 314

Borders .................................................................. 318

Cell .......................................................................... 314

Columns ............................................................... 314

Rows ...................................................................... 314

Tables (Word)

Add() ...................................................................... 318

Documents .......................................................... 314

Tabulator .................................................................. 104

Target ......................................................................... 100

Address ....................................................... 394, 405

Taste

Alt + F11 .................................................................... 31

F1 ................................................................... 103, 191

F2 ............................................................................. 185

F5 ............................................................ 33, 146, 367

F8 ............................................................................. 144

F9 ............................................................................ 146

Shift + F2 ..................................................... 110, 162

Strg ......................................................................... 100

Strg + Shift + F2 ........................................ 110, 162

Tab .......................................................................... 104

Termin

erzeugen (Outlook) .......................................... 337

speichern (Outlook) ......................................... 339

Termineigenschaften (Outlook) ..................... 339

Terminserie erzeugen (Outlook) .................... 339

Terminwiederholung (Outlook) ..................... 341

Text

AxisTitle ................................................................ 213

ChartTitle ............................................................. 213

ComboBox ........................................................... 378

TextBox ................................................................. 371

TextBox ..................................................................... 369

BackColor ............................................................. 377

Locked ................................................................... 377

Text ......................................................................... 371

Textdatei

Datenaustausch ................................................ 295

lesen ....................................................................... 295

Texteffekt ................................................................. 234

Textfeld ..................................................................... 369

sperren .................................................................. 377

Textfilter ................................................................... 202

TextFrame

Characters ........................................................... 225

Line ......................................................................... 225

Then ............................................................................ 124

ThisWorkbook .......................................................... 50

TickLabels

Axis ......................................................................... 213

NumberFormatLocal ....................................... 213

Tiefstellen ................................................................... 82

Timer() ....................................................................... 284

TimeValue() ............................................................. 199

Titel, Steuerelement ............................................. 365

To ............................................................. 128, 130, 151

MailItem (Outlook) .......................................... 326

ToggleButton .......................................................... 382

Value ...................................................................... 383

Toolbox ..................................................................... 364

Top

ChartObject ......................................................... 215

Steuerelement .................................................... 368

True ................................................................... 107, 117

Trust Center ............................................................... 29

txt ................................................................................. 370

Type ............................................................................. 177

AddShape() .......................................................... 233

ColorScaleCriteria ............................................ 238

TypeName() ................................................... 110, 193

U

Übergabe von Parametern ................................ 163

UBound() ................................................................... 174

Page 80: Einstieg in VBA mit Excel - Amazon S3

Index

444

Uhrzeit

aktuelle ................................................................. 199

-angabe ................................................................. 199

Umschaltfeld ........................................................... 382

Und

logisches ............................................................... 120

logisches (SQL) ................................................... 350

Underline, Font ........................................................ 81

Ungleich .................................................................... 118

SQL .......................................................................... 350

Unload ....................................................................... 366

UPDATE (SQL) ..................................... 344, 348, 355

URL-Format, codieren ......................................... 290

UsedRange, Worksheet ......................................... 88

UserForm .................................................................... 33

_Initialize() .......................................................... 373

erzeugen ............................................................... 364

Me ........................................................................... 366

Show() .................................................................... 367

V

Value

CheckBox ............................................................. 374

RadioButton ....................................................... 374

Range ......................................................... 42, 71, 76

ScrollBar ............................................................... 378

ToggleButton ...................................................... 383

Variable ..................................................................... 106

ausblenden .......................................................... 148

Datenfeld ............................................................. 149

Deklaration erforderlich ......................... 31, 107

Gültigkeitsbereich ............................................ 147

lokale ..................................................................... 147

modulweite ......................................................... 147

Objekt- ................................................................... 190

projektweite ........................................................ 147

Variant ................................................... 109, 110, 157

VBA ................................................................................ 17

vbAbort ...................................................................... 260

VBA-Funktion ......................................................... 249

vbArchive ................................................................. 307

vbBlack ....................................................................... 112

vbBlue ........................................................................ 113

vbCancel .................................................................... 260

vbCrLf ........................................................................... 44

vbCyan ....................................................................... 113

vbDirectory .............................................................. 307

VBE ................................................................................. 31

vbGreen .................................................................... 112

vbHidden ................................................................. 307

vbIgnore ................................................................... 260

vbMagenta ............................................................... 113

vbModeless ............................................................. 367

vbNo ........................................................................... 260

vbOK .......................................................................... 260

vbOkOnly ................................................................. 259

vbReadOnly ............................................................. 307

vbRed ......................................................................... 112

vbRetry ...................................................................... 260

vbSystem .................................................................. 307

vbWhite .................................................................... 113

vbYellow ................................................................... 112

vbYes .......................................................................... 260

Verbinder ........................................................ 222, 226

Verbindung, Datenbank (Access) ................... 342

Verbindungspunkt ............................................... 226

Vergleichsoperator ..................................... 117, 124

Verkettungsoperator .......................................... 121

Versatz .......................................................................... 38

VerticalAlignment, Range .................................... 80

Vertrauenscenter ..................................................... 29

Vertrauenswürdige Speicherorte ...................... 29

Verweis auf Objekt ...................................... 107, 190

Verzeichnis

-attribut ............................................................... 306

-eintrag (Outlook) ............................................ 332

ermitteln (Outlook) ......................................... 332

-funktionen ......................................................... 303

Verzweigung .................................................. 117, 124

Visible, Application (Word) ............................... 312

Visual Basic Editor ................................................... 31

Visual Basic for Applications .............................. 17

W

Wagenrücklauf .......................................................... 44

Wartezeit ......................................................... 394, 403

wdLineStyleSingle, Word ................................... 318

WebService() ........................................................... 290

Webservice, abrufen ............................................ 289

Weekday() ................................................................ 276

Weight

Borders .................................................................... 84

Line ........................................................................ 224

Weiß ........................................................................... 113

Page 81: Einstieg in VBA mit Excel - Amazon S3

Index

445

Werkzeugsammlung ........................................... 364

Wert

größter .................................................................. 292

kleinster ................................................................ 292

Wertebereich .......................................................... 107

außerhalb ............................................................ 109

WHERE (SQL) ........................................................... 349

Width

ChartObject ......................................................... 215

Steuerelement .................................................... 368

Wiederholung ......................................................... 129

With ............................................................................ 188

geschachteltes ................................................... 189

Wochentag ermitteln .......................................... 276

Word

Absatz ................................................................... 312

Application ......................................................... 312

beenden ................................................................ 313

Datenaustausch ................................................ 309

Dokument öffnen ............................................. 312

Export .......................................................... 315, 316

Import ......................................................... 311, 313

Objektbibliothek ............................................... 310

Objekthierarchie ............................................... 309

starten ................................................................... 312

Table ...................................................................... 314

WordArt .................................................................... 234

Workbook .................................................................... 50

_BeforeClose() ....................................................... 98

_Open() .......................................................... 98, 368

Activate() ................................................................ 56

Codefenster ............................................................ 97

Name ........................................................................ 53

Path ........................................................................... 58

Save() ........................................................................ 56

SaveAs() ................................................................... 56

Saved ........................................................................ 57

SendMail() ........................................................... 322

Workbook_Open() ............................. 387, 397, 408

Workbooks .................................................................. 50

(Index) ...................................................................... 57

Add() ......................................................................... 51

Close() ....................................................................... 53

Count ........................................................................ 51

FullName ................................................................ 54

Open() ....................................................................... 52

WorkDay() ................................................................ 282

WorkDay_Intl() ...................................................... 282

Worksheet

_Activate() ............................................................. 99

_BeforeDoubleClick() ...................................... 100

_Calculate() ......................................................... 101

_SelectionChange() .......................................... 100

Codefenster ........................................................... 97

UsedRange ............................................................. 88

Worksheet_SelectionChange() .............. 393, 405

WorksheetFunction

Convert() ............................................................... 285

Count() .................................................................. 288

CountBlank() ...................................................... 288

EoMonth() ............................................................ 278

Replace() ............................................................... 268

Search() ................................................................. 268

Worksheet-Funktion ............................................ 249

Worksheets ......................................................... 50, 60

(Index) ..................................................................... 60

Activate() ................................................................ 64

Add() ......................................................................... 60

Copy() ...................................................................... 61

Delete() .................................................................... 63

Move() ..................................................................... 62

PageSetup .............................................................. 66

WrapText, Range ...................................................... 80

X

xlAnd .......................................................................... 202

xlAscending ............................................................... 95

xlBarClustered ........................................................ 208

xlBottom ..................................................................... 80

xlCategory ................................................................ 213

xlCellTypeBlanks ..................................................... 91

xlCellTypeFormulas ............................................... 91

xlCellTypeLastCell ................................................... 91

xlCenter ....................................................................... 80

xlColumnClustered .............................................. 208

xlColumns ................................................................ 208

xlConditionValueTypes ...................................... 238

xlContinuous ............................................................ 84

xlDescending ............................................................ 95

xlDialogFontProperties ...................................... 363

xlDialogOpen .......................................................... 360

xlDialogPatterns .................................................... 362

xlDialogSaveAs ....................................................... 361

xlDialogSendMail .................................................. 323

xlDot ............................................................................. 84

Page 82: Einstieg in VBA mit Excel - Amazon S3

Index

446

xlDouble ...................................................................... 84

xlEdgeBottom ........................................................... 83

xlEdgeLeft ................................................................... 83

xlEdgeRight ................................................................ 83

xlEdgeTop ................................................................... 83

xlFilterValues .......................................................... 203

xlGuess ........................................................................ 95

xlHairline .................................................................... 84

xlInsideHorizontal ................................................. 83

xlInsideVertical ........................................................ 83

xlJustify ....................................................................... 80

xlLandscape ............................................................... 67

xlLeft ............................................................................. 80

xlLine .......................................................................... 208

xlMarkerStyleCircle .............................................. 214

xlMarkerStyleNone .............................................. 214

xlMarkerStyleSquare ........................................... 214

xlMedium ................................................................... 84

xlNo ............................................................................... 95

xlPasteFormats ........................................................ 73

xlPasteValues ............................................................ 73

xlPie ............................................................................ 208

xlPortrait .................................................................... 67

xlRight ......................................................................... 80

xlRows ........................................................................ 208

xls ................................................................................... 45

xlsb ................................................................................ 40

xlShiftDown .............................................................. 85

xlShiftToLeft .............................................................. 87

xlShiftToRight .......................................................... 85

xlShiftUp ..................................................................... 87

xlShowLabel ............................................................ 214

xlShowNone ............................................................ 214

xlShowValue ........................................................... 214

xlsm .............................................................................. 26

xlSparkColumn ...................................................... 244

xlSparkColumnStacked100 ............................... 244

xlSparkLine .............................................................. 243

XLStart ......................................................................... 40

xlsx ................................................................................ 25

xlThick ......................................................................... 84

xlThin ........................................................................... 84

xlTop ............................................................................. 80

xlValue ....................................................................... 213

xlVertical ..................................................................... 80

xlYes .............................................................................. 95

XML-Datei, filtern .................................................. 291

Xor ............................................................................... 120

Y

Year() .......................................................................... 279

YesNo ......................................................................... 260

YesNoCancel ........................................................... 260

Z

Zahl

Eingabe ................................................................ 255

erkennen .............................................................. 269

ganze ..................................................................... 107

umrechnen .......................................................... 287

umwandeln ........................................................ 269

Zahlenfilter .............................................................. 201

Zeichen einzeln formatieren .............................. 81

Zeichenkette ........................................................... 108

Funktionen ......................................................... 266

Länge ..................................................................... 267

Teilzeichenkette ermitteln ............................ 267

Teilzeichenkette ersetzen .............................. 268

Teilzeichenkette suchen ................................ 268

umwandeln ........................................................ 268

verketten .............................................................. 121

zerlegen ................................................................ 273

Zeichnungsobjekt ................................................. 222

Anzahl ................................................................... 222

Drehung ............................................................... 224

Form ............................................................. 222, 223

Freiform ............................................ 222, 229, 230

Füllfarbe ............................................................... 224

Füllung ................................................................. 224

Lage ....................................................................... 224

Linie .................................................... 222, 224, 225

Linienart .............................................................. 225

Liniendicke .......................................................... 224

Linienfarbe .......................................................... 224

Text ........................................................................ 225

Textrahmen ........................................................ 225

Typ ................................................................ 223, 224

Verbinder .................................................... 222, 227

Verbindung Anfang/Ende ............................ 228

Verbindung herstellen ................................... 228

Verbindungsart ................................................. 228

Zeile zerlegen ............................................................. 66

Zeilenmarke ............................................................ 143

Zeilennummer .......................................................... 71

Zeilenvorschub ......................................................... 44

Page 83: Einstieg in VBA mit Excel - Amazon S3

Index

447

Zellbereich .......................................................... 50, 68

Adresse ..................................................................... 71

ausschneiden ........................................................ 35

Auswahl wird gewechselt ................................. 99

auswählen .............................................................. 71

besondere Zellen .................................................. 88

einfügen .................................................................. 85

einfügen ganze Zeile/Spalte ........................... 86

Eingabe ................................................................. 257

ermitteln .............................................................. 381

Formel eintragen .............................................. 249

hat Formel .............................................................. 91

Innenbereich ......................................................... 84

Innenfarbe .............................................................. 84

leere Zellen ermitteln ......................................... 91

leere Zellen zählen ........................................... 288

letzte Zelle ermitteln .......................................... 91

löschen ..................................................................... 86

löschen ganze Zeile/Spalte .............................. 87

Muster ...................................................................... 84

Nachbarzelle verschieben ................................ 85

optimale Zeile/Spalte ........................................ 88

per E-Mail senden (Outlook) ........................ 328

Rahmen ................................................................... 83

sortieren .................................................................. 94

Spaltenbreite ......................................................... 87

spezielle Zellen ...................................................... 89

unsichtbare Benutzung .................................... 88

Versatz ..................................................................... 91

verwendeter Bereich ........................................... 88

Zahlen zählen .................................................... 288

Zeilenhöhe .............................................................. 87

Zellen zählen ......................................................... 89

zusammenhängender ....................................... 68

Zellbezug, relativer ............................................... 251

Zelle ............................................................................... 68

Adresse ........................................................ 394, 405

ausgewählte ............................................. 393, 405

Spaltennummer .................................................. 91

wird doppelt geklickt ....................................... 100

Zeilennummer ...................................................... 91

Zellen, verbinden ................................................... 388

Zellhintergrund, Sparklines .............................. 243

Zellinhalt

ausrichten .............................................................. 79

ein-/mehrzeiliger ................................................ 80

einzelne Zeichen .................................................. 81

Formel eintragen ................................................ 76

kopieren .................................................................. 72

löschen .................................................................... 74

Muster-Dialog .................................................... 362

nur Format kopieren ......................................... 73

nur Format löschen ........................................... 74

nur Wert kopieren .............................................. 73

nur Wert löschen ................................................. 74

Schrift-Dialog ..................................................... 362

Schrifteigenschaften .......................................... 80

übereinander ........................................................ 80

verbinden ............................................................... 80

verschieben ........................................................... 72

Wert eintragen ..................................................... 76

Zoom, PageSetup ..................................................... 67

Zufallsgenerator ........................................... 391, 403

Zufallszahlengenerator ....................................... 134

Zuweisung ................................................................ 106

benutzerdefinierter Datentyp ...................... 178

Objekt .................................................................... 191

über Objekthierarchie ..................................... 191

Zwischenablage ................................................. 25, 35

Zyan ............................................................................ 113