UEber den Autor 9 Einfuehrung 25
Haben Sie das richtige Buch gewaehlt? 25
Der obligatorische Abschnitt ueber typografische Konventionen 26
UEberpruefen Sie Ihre Sicherheitseinstellungen 27
Was Sie mitbringen sollten 28
Symbole in diesem Buch 28
Beispieldateien herunterladen 29
Und jetzt? 29
Teil I Excel-VBA - die ersten Schritte 31
Kapitel 1 Was ist VBA? 33
Was also ist VBA? 33
Was ist mit VBA moeglich? 34
Text einfuegen 35
Eine haeufig ausgefuehrte Aufgabe automatisieren 35
Automatisierung wiederholter Operationen 35
Einen benutzerdefinierten Befehl anlegen 35
Eine benutzerdefinierte Schaltflaeche erstellen 35
Neue Funktionen fuer die Arbeitsmappe entwickeln 35
Benutzerdefinierte Add-Ins fuer Excel erstellen 36
Vollstaendige makrogesteuerte Anwendungen erstellen 36
Vorteile und Nachteile von VBA 36
Vorteile von VBA 36
Nachteile von VBA 37
VBA in Kuerze 37
UEberblick ueber verschiedene Versionen 39
Kapitel 2 Ein Sprung ins kalte Wasser 43
Das Erste zuerst 43
Was auf Sie zukommt 44
Die ersten Schritte 44
Das Makro aufzeichnen 45
Das Makro testen 46
Das Makro ueberpruefen 47
Das Makro abaendern 49
Arbeitsmappen mit Makros speichern 49
Makrosicherheit 50
Weitere Informationen ueber das Makro NameUndZeit 52
Teil II Die Zusammenarbeit von VBA und Excel 55
Kapitel 3 Der Visual Basic Editor 57
Was ist der Visual Basic Editor? 57
Den VBE aktivieren 57
VBE-Komponenten 58
Arbeiten im Projektfenster 60
Ein neues VBA-Modul hinzufuegen 61
Ein VBA-Modul entfernen 61
Objekte exportieren und importieren 62
Arbeiten in einem Codefenster 63
Fenster minimieren und maximieren 63
Ein Modul erstellen 64
VBA-Code in ein Modul einfuegen 65
Code direkt eingeben 65
Verwendung des Makro-Recorders 68
VBA-Code kopieren 70
Anpassung der VBA-Umgebung 70
Die Registerkarte Editor 71
Die Registerkarte Editorformat 74
Die Registerkarte Allgemein 75
Die Registerkarte Verankern 75
Kapitel 4 Das Objektmodell in VBA 77
Ist Excel ein Objekt? 77
Navigation innerhalb der Objekthierarchie 78
Alles dreht sich um Collections 79
Verweise auf Objekte - Referenzen 79
Navigation innerhalb der Hierarchie 80
Objektreferenzen vereinfachen 81
Objekteigenschaften und Methoden 82
Objekteigenschaften 83
Objektmethoden 85
Objektereignisse 86
Weitere Informationen 87
Das Hilfesystem von VBA 87
Der Objektkatalog 88
Automatische Auflistung von Eigenschaften und Methoden 89
Kapitel 5 Sub- und Funktionsprozeduren in VBA 91
Sub-Prozeduren im Vergleich zu Funktionsprozeduren 91
Sub-Prozeduren 92
Funktionsprozeduren 92
Namen fuer Sub-Prozeduren und Funktionsprozeduren 93
Sub-Prozeduren ausfuehren 93
Die Sub-Prozedur direkt ausfuehren 95
Die Prozedur vom Dialogfeld Makro aus ausfuehren 96
Ein Makro mithilfe einer Tastenkombination ausfuehren 97
Die Prozedur ueber eine Schaltflaeche oder eine Form ausfuehren 98
Die Prozedur von einer anderen Prozedur aus ausfuehren 100
Funktionsprozeduren ausfuehren 100
Die Funktion aus einer Sub-Prozedur aufrufen 101
Aufruf einer Funktion von einer Formel in einer Tabelle aus 102
Kapitel 6 Mit dem Excel-Makro-Recorder arbeiten 105
Ist es live oder ist es VBA? 105
Grundlagen der Aufzeichnung 106
Vorbereitung auf die Aufzeichnung 108
Relativ oder absolut? 108
Aufzeichnung im absoluten Modus 108
Aufzeichnung im relativen Modus 109
Was wird eigentlich aufgezeichnet? 111
Aufzeichnungsoptionen 112
Makroname 112
Tastenkombination 113
Makro speichern in 113
Beschreibung 114
Und wie effizient ist das Ganze? 114
Teil III Programmierkonzepte 117
Kapitel 7 Wichtige Elemente der Sprache VBA 119
Kommentare in Ihrem VBA-Code 119
Variablen, Konstanten und Datentypen 121
Variablen verstehen 121
Was sind Datentypen in VBA? 122
Variablen deklarieren und ihnen einen Gueltigkeitsbereich zuweisen 125
Mit Konstanten arbeiten 131
Vorgefertigte Konstanten 132
Mit Zeichenfolgen arbeiten 133
Mit Datumswerten arbeiten 134
Zuweisungsbefehle verwenden 135
Beispiele fuer den Zuweisungsbefehl 135
Das Gleichheitszeichen 135
Hilfreiche Operatoren 136
Arrays 137
Arrays deklarieren 138
Mehrdimensionale Arrays 138
Dynamische Arrays 139
Die Verwendung von Zeilenmarken (Labels) 140
Kapitel 8 Mit Range-Objekten arbeiten 141
Ein schneller UEberblick 141
Andere Methoden, auf einen Bereich zu verweisen 143
Die Cells-Eigenschaft 143
Die Offset-Eigenschaft 144
Einige praktische Eigenschaften des Range-Objekts 145
Die Value-Eigenschaft 145
Die Text-Eigenschaft 146
Die Count-Eigenschaft 147
Die Column- und Row-Eigenschaften 147
Die Address-Eigenschaft 147
Die HasFormula-Eigenschaft 147
Die Font-Eigenschaft 149
Die Interior-Eigenschaft 149
Die Formula-Eigenschaft 151
Die NumberFormat-Eigenschaft 151
Einige praktische Methoden des Range-Objekts 152
Die Select-Methode 152
Die Methoden Copy und Paste 153
Die Clear-Methode 153
Die Delete-Methode 154
Kapitel 9 VBA- und Arbeitsblattfunktionen 155
Was ist eine Funktion? 155
Eingebaute VBA-Funktionen verwenden 156
Beispiele fuer VBA-Funktionen 156
VBA-Funktionen, die mehr tun, als einen Wert zurueckzugeben 158
VBA-Funktionen finden 159
Arbeitsblattfunktionen in VBA verwenden 162
Beispiele fuer Arbeitsblattfunktionen 162
Eingabe von Arbeitsblattfunktionen 165
Weitere Informationen ueber die Verwendung von Arbeitsblattfunktionen 165
Benutzerdefinierte Funktionen verwenden 166
Kapitel 10 Steuerung des Programmablaufs und Entscheidungen 169
Schwimmen mit dem Strom 169
Die GoTo-Anweisung 170
Entscheidungen, Entscheidungen! 171
Die If-Then-Struktur 171
Die Select-Case-Struktur 176
Ihr Code fuer eine Schleife 179
For-Next-Schleifen 179
Do-While-Schleifen 185
Do-Until-Schleifen 186
For-Each-Next-Schleifen fuer Collections ausfuehren 186
Kapitel 11 Automatische Prozeduren und Ereignisse 189
Vorbereitung auf das grosse Ereignis 189
Sind Ereignisse praktisch? 190
Programmierung von Prozeduren zur Ereignisverarbeitung 191
Wo steht der VBA-Code? 192
Eine Prozedur zur Ereignisverarbeitung schreiben 193
Einfuehrende Beispiele 194
Das Open-Ereignis fuer eine Arbeitsmappe 194
Das BeforeClose-Ereignis fuer eine Arbeitsmappe 197
Das BeforeSave-Ereignis fuer eine Arbeitsmappe 198
Beispiele fuer Aktivierungsereignisse 199
Aktivierungs- und Deaktivierungsereignisse in einem Arbeitsblatt 199
Aktivierungs- und Deaktivierungsereignisse in einer Arbeitsmappe 200
Arbeitsmappen-Aktivierungsereignisse 201
Andere Arbeitsblatt-Ereignisse 202
Das BeforeDoubleClick-Ereignis 202
Das BeforeRightClick-Ereignis 203
Das Change-Ereignis 203
Ereignisse, die keinen Objekten zugeordnet sind 206
Das OnTime-Ereignis 206
Tastenaktionen 208
Kapitel 12 Techniken zur Fehlerverarbeitung 211
Fehlertypen 211
Ein fehlerbehaftetes Beispiel 212
Das Makro ist nicht ganz perfekt 213
Das Makro ist immer noch nicht perfekt 214
Ist das Makro immer noch nicht perfekt? 215
Verabschieden Sie sich von der Perfektion! 216
Fehler anders verarbeiten 216
Noch einmal die Prozedur EnterSquareRoot 216
Die On-Error-Anweisung 218
Fehlerverarbeitung: Die Details 218
Fortsetzung nach einem Fehler 218
Fehlerverarbeitung im UEberblick 220
Erkennen, wann Fehler ignoriert werden koennen 221
Spezifische Fehler identifizieren 221
Ein beabsichtigter Fehler 223
Kapitel 13 Techniken, mit denen Sie Fehler loswerden 225
Verschiedene Fehlerarten 225
Programmierfehler identifizieren 226
Debugging-Techniken 227
Ihren Code ueberpruefen 227
Die MsgBox-Funktion verwenden 228
Debug.Print-Anweisungen einfuegen 230
Verwendung des VBA-Debuggers 231
Der Debugger 231
Haltepunkte in Ihrem Code setzen 231
Das UEberwachungsfenster verwenden 234
Das Lokal-Fenster 236
Tipps, wie Sie weniger Programmierfehler machen 237
Kapitel 14 VBA-Programmierbeispiele 239
Mit Bereichen arbeiten 239
Einen Bereich kopieren 240
Einen variablen Bereich kopieren 241
Auswahl bis zum Ende einer Zeile oder Spalte 242
Eine Zeile oder Spalte auswaehlen 243
Einen Bereich verschieben 243
Einen Bereich effizient durchlaufen 244
Einen Bereich effizient durchlaufen (Teil II) 245
Einen Zellwert anfordern 246
Den Auswahltyp bestimmen 247
Eine Mehrfachauswahl erkennen 247
Excel-Einstellungen abaendern 248
Boolesche Einstellungen aendern 249
Nicht-Boolesche Einstellungen aendern 249
Diagramme 250
AddChart im Vergleich zu AddChart2 251
Den Diagrammtyp aendern 253
Die ChartObjects-Collection durchlaufen 253
Diagrammeigenschaften aendern 254
Diagrammformatierungen anwenden 254
VBA-Geschwindigkeitstipps 256
Die Bildschirmaktualisierung abschalten 256
Die automatische Berechnung ausschalten 257
Laestige Warnungen deaktivieren 257
Objektreferenzen vereinfachen 258
Variablentypen deklarieren 258
Die With-End-With-Struktur 259
Teil IV Kommunikation mit Ihren Benutzern 261
Kapitel 15 Einfache Dialogfelder 263
Alternativen zu UserForms 263
Die MsgBox-Funktion 264
Ein einfaches Meldungsfeld anzeigen 264
Eine Antwort aus einem Meldungsfeld ermitteln 265
Meldungsfelder anpassen 266
Die InputBox-Funktion 269
Die Syntax von InputBox 270
Ein Beispiel fuer eine InputBox 270
Ein weiterer Typ InputBox 272
Die Methode GetOpenFilename 273
Die Syntax fuer die GetOpenFilename-Methode 273
Ein Beispiel fuer GetOpenFilename 274
Die GetSaveAsFilename-Methode 275
Einen Ordnernamen ermitteln 276
Eingebaute Excel-Dialogfelder anzeigen 277
Kapitel 16 UserForm-Grundlagen 279
Erkennen, wann man ein UserForm braucht 279
UserForms erstellen: Ein UEberblick 280
Mit UserForms arbeiten 281
Ein neues UserForm einfuegen 281
Einem UserForm Steuerelemente hinzufuegen 282
Die Eigenschaften eines UserForm-Steuerelements aendern 283
Das Codefenster fuer ein UserForm anzeigen 285
Ein UserForm anzeigen 285
Informationen aus einem UserForm verarbeiten 286
Ein UserForm-Beispiel 286
Das UserForm anlegen 287
Die Befehlsschaltflaechen hinzufuegen 287
Optionsfelder einfuegen 289
Prozeduren zur Ereignisverarbeitung einfuegen 291
Ein Makro anlegen, das das Dialogfeld anzeigt 293
Das Makro fuer den Benutzer bereitstellen 293
Das Makro testen 294
Kapitel 17 UserForm-Steuerelemente verwenden 297
Steuerelemente im Dialogfeld: Die ersten Schritte 297
Steuerelemente hinzufuegen 297
Eigenschaften von Steuerelementen - Grundlagen 299
Steuerelemente in einem Dialogfeld: Die Details 300
Das CheckBox-Steuerelement - Kontrollkaestchen 301
Das ComboBox-Steuerelement - Kombinationsfeld 302
Das CommandButton-Steuerelement - Befehlsschaltflaeche 303
Das Frame-Steuerelement - Rahmen 304
Das Image-Steuerelement - Bildfeld 304
Das Label-Steuerelement - Bezeichnungsfeld 305
Das ListBox-Steuerelement - Listenfeld 305
Das MultiPage-Steuerelement - Multiseiten 307
Das OptionButton-Steuerelement - Optionsfelder 308
Das RefEdit-Steuerelement 309
Das ScrollBar-Steuerelement - Bildlaufleiste 309
Das SpinButton-Steuerelement - Drehfeld 310
Das TabStrip-Steuerelement - Register 311
Das TextBox-Steuerelement - Textfeld 311
Das ToggleButton-Steuerelement - Umschaltfeld 313
Die Arbeit mit Steuerelementen in Dialogfeldern 313
Steuerelemente verschieben und ihre Groesse aendern 313
Steuerelemente ausrichten und Abstaende einhalten 314
Tastaturbenutzern helfen 315
Ein UserForm testen 317
Dialogfeld-AEsthetik 317
Kapitel 18 UserForms - Techniken und Tricks 319
Dialogfelder verwenden 319
Ein UserForm-Beispiel 319
Das Dialogfeld anlegen 320
Code fuer die Anzeige des Dialogfelds 323
Das Makro bereitstellen 323
Ihr Dialogfeld ausprobieren 324
Prozeduren zur Ereignisverarbeitung einfuegen 324
Die Daten auswerten 326
Jetzt funktioniert das Dialogfeld 327
Weitere UserForm-Beispiele 327
Ein Listenfeld-Beispiel 327
Einen Bereich auswaehlen 333
Mehrere Optionsfeldgruppen verwenden 334
Ein Drehfeld und ein Textfeld verwenden 336
Ein UserForm als Fortschrittsanzeige verwenden 337
Ein nicht modales Dialogfeld mit Registerkarten erstellen 342
Ein Diagramm in einem UserForm anzeigen 344
Dialogfeld-Checkliste 346
Kapitel 19 Zugriff auf Ihre Makros ueber die Benutzeroberflaeche 347
Das Menueband anpassen 347
Das Menueband manuell anpassen 347
Dem Menueband ein Makro hinzufuegen 350
Anpassung des Menuebands mit XML 350
Kontextmenues anpassen 355
Dem Kontextmenue Zelle einen neuen Eintrag hinzufuegen 355
Was ist anders in Excel 2013 und Excel 2016? 358
Teil V Das grosse Ganze 359
Kapitel 20 Funktionen fuer Arbeitsblaetter erstellen 361
Wozu benutzerdefinierte Funktionen? 361
Grundlagen der VBA-Funktionen 362
Funktionen schreiben 363
Mit Funktionsargumenten arbeiten 364
Eine Funktion ohne Argumente 364
Eine Funktion mit einem Argument 365
Eine Funktion mit zwei Argumenten 366
Eine Funktion mit einem Bereichsargument 368
Eine Funktion mit einem optionalen Argument 370
Wrapper-Funktionen 372
Die NumberFormat-Funktion 372
Die ExtractElement-Funktion 372
Die SayIt-Funktion 373
Die IsLike-Funktion 374
Funktionen, die ein Array zurueckgeben 374
Ein Array mit Monatsnamen zurueckgeben 374
Eine sortierte Liste zurueckgeben 375
Das Dialogfeld Funktion einfuegen verwenden 377
Die Funktionsbeschreibung anzeigen 377
Argumentbeschreibungen 379
Kapitel 21 Add-Ins in Excel erstellen 381
Und was ist ein Add-In? 381
Wozu legt man Add-Ins an? 382
Die Arbeit mit Add-Ins 383
Add-In-Grundlagen 384
Ein Add-In-Beispiel 385
Einrichtung der Arbeitsmappe 385
Die Arbeitsmappe testen 388
Beschreibende Informationen hinzufuegen 388
Den VBA-Code schuetzen 389
Das Add-In anlegen 390
Das Add-In oeffnen 390
Das Add-In weitergeben 390
Das Add-In aendern 391
Teil VI Der Top-Ten-Teil 393
Kapitel 22 Zehn Fragen (und Antworten) zu VBA 395
Kapitel 23 (Fast) zehn Excel-Ressourcen 399
Das VBA-Hilfesystem 399
Microsoft Produkt-Support 399
Internet-Websites 400
Excel-Blogs 400
Google 400
Bing 401
Lokale User Groups 401
Meine anderen Buecher 401
Kapitel 24 Zehn Dinge, die Sie beherzigen oder vermeiden sollten 403
Deklarieren Sie alle Variablen 403
Verwechseln Sie Passwoerter nicht mit Sicherheit 403
Bereinigen Sie Ihren Code 404
Schreiben Sie nicht alles in eine Prozedur 404
Denken Sie daran, dass es noch andere Software gibt 405
Gehen Sie nicht davon aus, dass alle Benutzer Makros aktivieren 405
Gewoehnen Sie sich an, zu experimentieren 405
Gehen Sie nicht davon aus, dass Ihr Code in anderen Excel-Versionen funktioniert 405
Denken Sie immer an Ihre Benutzer 406
Vergessen Sie die Sicherung nicht! 406
Stichwortverzeichnis 407