Um noch mehr aus Excel herauszuholen, sind Kenntnisse der VBA-Programmierung von großem Vorteil: Dann können Sie Excel auf Ihre Bedürfnisse zuschneiden und langweilige Routinearbeiten automatisieren. Dieses Buch zeigt Ihnen zunächst den Umgang mit dem VBA-Editor und gibt einen Einblick in die wichtigsten Programmiertechniken, wie Sie Fehler beseitigen, Range-Objekte einsetzen und den Programmfluss steuern. Lernen Sie dann die vielfältigen Programmiermöglichkeiten kennen. Alle Beispielprogramme und Arbeitsblätter stehen zum Download zur Verfügung. Sie werden staunen: Mit VBA können Sie sich selbst Dialogboxen, Werkzeugleisten und Menüs schneidern. Und das schon nach kurzer Zeit!
Inhaltsverzeichnis
Ü ber den Autor 9
Einfü hrung 25
Ü ber dieses Buch 25
Konventionen in diesem Buch 26
Makrosicherheit 27
Tö richte Annahmen ü ber die Leser 28
Symbole, die in diesem Buch verwendet werden 29
Wie es weitergeht 29
Teil I: Excel VBA - die ersten Schritte 31
Kapitel 1 VBA kennenlernen 33
Die VBA-Grundlagen verstehen 33
Wissen, was mit VBA mö glich ist 34
Text einfü gen 35
Eine hä ufig ausgefü hrte Aufgabe automatisieren 35
Automatisierung wiederholter Operationen 35
Einen benutzerdefinierten Befehl anlegen 35
Eine benutzerdefinierte Schaltflä che erstellen 36
Neue Funktionen fü r die Arbeitsmappe entwickeln 36
Benutzerdefinierte Add-Ins fü r Excel erstellen 36
Das meiste aus VBA herausholen 36
Wissen, was VBA am besten kann 36
Erkennen, welche Nachteile die Verwendung von VBA mit sich bringt 37
VBA-Konzepte verstehen 38
Sicherstellen der Excel-Kompatibilitä t 40
Kapitel 2 Einfache Makros erstellen 41
Die Registerkarte 'Entwicklertools' anzeigen 41
Ein Makro erstellen 42
Die Umgebung vorbereiten 42
Ein Makro aufzeichnen 43
Das Makro ausfü hren 45
Ein Makro im Visual Basic-Editor anzeigen 46
Das Makro abä ndern 48
Arbeitsmappen speichern, die Makros enthalten 49
Makro-Sicherheit verstehen 50
Teil II: Die Zusammenarbeit von VBA und Excel 53
Kapitel 3 Der Visual Basic-Editor 55
Den Visual Basic-Editor kennenlernen 55
Den VBE aktivieren 55
VBE-Komponenten erforschen 56
Arbeiten im Projekt-Explorer 58
Ein neues VBA-Modul hinzufü gen 59
Arbeiten im Codebereich 60
Fenster minimieren und maximieren 60
Die Bestandteile eines Moduls erkunden 61
VBA-Code in ein Modul einfü gen 61
Code direkt eingeben 62
Verwendung des Makro-Rekorders 65
VBA-Code kopieren 67
Anpassung des VBE 68
Die Registerkarte 'Editor' 68
Die Registerkarte 'Editorformat' 70
Die Registerkarte 'Allgemein' 71
Die Registerkarte 'Verankern' 72
Kapitel 4 Einfü hrung in das Excel-Objektmodell 73
Arbeiten mit dem Excel-Objektmodell 73
Die Objekthierarchie verstehen 74
Auf Objekte verweisen 75
In Objekteigenschaften und Methoden eintauchen 78
Objekteigenschaften festlegen 80
Mit Objektmethoden Aktionen unternehmen 81
Objekte reagieren auf Ereignisse 83
VBA-Ressourcen zu weiterfü hrenden Informationen 83
Das VBA-Hilfesystem verwenden 83
Den Objektkatalog verwenden 84
Automatische Auflistung von Eigenschaften und Methoden 85
Kapitel 5 Sub-und Funktionsprozeduren in VBA 87
Sub-Prozeduren im Vergleich zu Funktionsprozeduren 87
Einen Blick auf Sub-Prozeduren werfen 88
Einen Blick auf Funktionsprozeduren werfen 88
Namen fü r Sub-Prozeduren und Funktionsprozeduren 89
Sub-Prozeduren ausfü hren 90
Die Sub-Prozedur direkt ausfü hren 92
Die Prozedur vom Dialogfeld Makro aus ausfü hren 92
Ein Makro mithilfe einer Tastenkombination ausfü hren 93
Die Prozedur ü ber eine Schaltflä che oder eine Form ausfü hren 94
Die Prozedur von einer anderen Prozedur aus ausfü hren 96
Die Prozedur vom Direktfenster aus ausfü hren 97
Funktionsprozeduren ausfü hren 97
Die Funktionsprozedur aus einer Sub-Prozedur aufrufen 98
Aufruf der Funktion im Direktfenster 98
Aufruf einer Funktion von einer Formel in einer Tabelle aus 99
Kapitel 6 Mit dem Makro-Rekorder arbeiten 103
Grundlagen der Aufzeichnung 103
Vorbereitung auf die Aufzeichnung 105
Zwischen relativem und absolutem Modus wä hlen 105
Aufzeichnung im absoluten Modus 106
Aufzeichnung im relativen Modus 107
Dem Makro-Rekorder bei der Arbeit zusehen 109
Aufzeichnungsoptionen fü r Ihr Makro angeben 110
Code aufrä umen, den der Makro-Rekorder aufgezeichnet hat 112
Teil III: Programmierkonzepte 115
Kapitel 7 Wichtige Elemente der Sprache VBA 117
Kommentare in Ihrem VBA-Code 117
Variablen, Konstanten und Datentypen 119
Variablen verstehen 119
Was sind die Datentypen in VBA? 121
Variablen deklarieren und ihnen einen Gü ltigkeitsbereich zuweisen 122
Mit Konstanten arbeiten 127
Vorgefertigte Konstanten verwenden 128
Mit Zeichenfolgen arbeiten 129
Mit Datumswerten arbeiten 130
Zuweisungsbefehle verwenden 131
Beispiele fü r den Zuweisungsbefehl 131
Das Gleichheitszeichen 132
Hilfreiche Operatoren 132
Arrays 133
Arrays deklarieren 134
Mehrdimensionale Arrays 134
Dynamische Arrays 135
Die Verwendung von Zeilenmarken (Labels) 136
Kapitel 8 Mit Range-Objekten arbeiten 137
Auf 'Range'-Objekte verweisen 137
Auf einen Bereich mithilfe von Eigenschaften verweisen 139
Die 'Cells'-Eigenschaft 139
Die 'Offset'-Eigenschaft 140
Die 'Resize'-Eigenschaft 141
Mit Eigenschaften des 'Range'-Objekts arbeiten 141
Die 'Value'-Eigenschaft 142
Die 'Text'-Eigenschaft 143
Die 'Count'-Eigenschaft 143
Die 'Column'-und die 'Row'-Eigenschaft 143
Die 'Address'-Eigenschaft 144
Die 'HasFormula'-Eigenschaft 144
Die 'Font'-Eigenschaft 145
Die 'Interior'-Eigenschaft 146
Die 'Formula'-Eigenschaft 147
Die 'NumberFormat'-Eigenschaft 148
Aktionen mit Methoden des 'Range'-Objekts unternehmen 148
Die 'Select'-Methode 149
Die Methoden 'Copy' und 'Paste' 149
Die 'Clear'-Methode 150
Die 'Delete'-Methode 150
Kapitel 9 VBA-und Arbeitsblattfunktionen 151
Funktionen verstehen 151
Eingebaute VBA-Funktionen verwenden 152
Arbeiten mit Datum und Uhrzeit 152
Arbeiten mit Zeichenfolgen 154
Objekte und Daten identifizieren 155
VBA-Funktionen, die mehr tun, als einen Wert zurü ckzugeben 156
VBA-Funktionen finden 156
Arbeitsblattfunktionen in VBA verwenden 159
Beispiele fü r Arbeitsblattfunktionen 160
Eingabe von Arbeitsblattfunktionen 162
Weitere Informationen ü ber die Verwendung von Arbeitsblattfunktionen 163
Benutzerdefinierte Funktionen verwenden 164
Kapitel 10 Steuerung des Programmablaufs und Entscheidungen 165
Schwimmen mit dem Strom 165
Die 'GoTo'-Anweisung 166
Entscheidungen, Entscheidungen! 168
Die 'If-Then '-Struktur 168
Die 'Select Case'-Struktur 172
Ihr Code fü r eine Schleife 175
'For-Next '-Schleifen 175
'Do While'-Schleifen 180
'Do Until'-Schleifen 181
'For Each-Next '-Schleifen fü r Collections ausfü hren 181
Kapitel 11 Automatische Prozeduren und Ereignisse 185
Vorbereitung auf das groß e Ereignis 185
Lernen, wann Sie Ereignisprozeduren einsetzen 187
Programmierung von Prozeduren zur Ereignisverarbeitung 188
Wissen, wo man den Ereigniscode einfü gt 188
Eine Prozedur zur Ereignisverarbeitung schreiben 189
'Workbook'-Ereignisse auslö sen 190
Das 'Open'-Ereignis fü r eine Arbeitsmappe 191
Das 'BeforeClose'-Ereignis fü r eine Arbeitsmappe 193
Das 'BeforeSave'-Ereignis fü r eine Arbeitsmappe 194
Aktivierungsereignisse verwenden 195
Aktivierungs-und Deaktivierungsereignisse in einem Arbeitsblatt 195
Aktivierungs-und Deaktivierungsereignisse in einer Arbeitsmappe 196
Arbeitsmappen-Aktivierungsereignisse 197
Programmierung von Arbeitsblattereignissen 198
Das 'BeforeDoubleClick'-Ereignis 198
Das 'BeforeRightClick'-Ereignis 198
Das 'Change'-Ereignis 199
Ereignisse verstehen, die keinen Objekten zugeordnet sind 201
Das 'OnTime'-Ereignis 201
Tastenaktionen 203
Kapitel 12 Techniken zur Fehlerverarbeitung 205
Fehlertypen 205
Ein fehlerhaftes Beispielmakro 206
Nicht ganz perfekte Makros 207
Das Makro noch perfekter machen 208
Verabschieden Sie sich von der Perfektion! 209
Alternative Wege der Fehlerverarbeitung 210
Noch einmal die Prozedur 'EnterSquareRoot' 210
Fehler mit der 'On-Error '-Anweisung abfangen 211
Fehlerverarbeitung: die Details 212
Fortsetzung nach einem Fehler 212
Fehlerverarbeitung im Ü berblick 214
Ein beabsichtigter Fehler 214
Kapitel 13 Techniken, mit denen Sie Fehler loswerden 217
Verschiedene Fehlerarten 217
Programmierfehler identifizieren 219
Debugging-Techniken 220
Ihren Code ü berprü fen 220
Die 'MsgBox'-Funktion verwenden 220
'Debug. Print'-Anweisungen einfü gen 222
Verwendung des VBA-Debuggers 222
Debugging-Tools verwenden 223
Haltepunkte in Ihrem Code setzen 223
Das Ü berwachungsfenster verwenden 226
Das Lokal-Fenster 228
Tipps, wie Sie weniger Programmierfehler machen 229
Kapitel 14 VBA-Programmierbeispiele 231
Mit Bereichen arbeiten 231
Einen Bereich kopieren 232
Einen variablen Bereich kopieren 233
Auswahl bis zum Ende einer Zeile oder Spalte 235
Eine Zeile oder Spalte auswä hlen 236
Einen Bereich verschieben 236
Einen Bereich effizient durchlaufen 236
Einen Bereich effizient durchlaufen (Teil II) 238
Einen Zellwert anfordern 239
Den Auswahltyp bestimmen 240
Eine Mehrfachauswahl erkennen 240
Excel-Einstellungen abä ndern 241
Boolesche Einstellungen ä ndern 241
Nicht-boolesche Einstellungen ä ndern 242
Diagramme 242
'AddChart' im Vergleich zu 'AddChart2' 243
Den Diagrammtyp ä ndern 245
Die 'ChartObjects'-Collection durchlaufen 245
Diagrammeigenschaften ä ndern 246
Diagrammformatierungen anwenden 246
VBA-Geschwindigkeitstipps 248
Die Bildschirmaktualisierung abschalten 248
Die automatische Berechnung ausschalten 249
Lä stige Warnungen deaktivieren 249
Objektreferenzen vereinfachen 251
Variablentypen deklarieren 251
Die 'With-End With'-Struktur 252
Kapitel 15 Einfache Dialogfelder 253
In VBA mit dem Benutzer interagieren 253
Meldungen mit der 'MsgBox'-Funktion anzeigen 254
Ein einfaches Meldungsfeld anzeigen 255
Eine Antwort aus einem Meldungsfeld erhalten 256
Meldungsfelder anpassen 257
Daten mit der Funktion 'InputBox' abfragen 260
Die Syntax von 'InputBox' verstehen 260
Die Funktion 'InputBox' verwenden 260
Die Methode 'InputBox' verwenden 262
Den Benutzer eine Datei oder einen Ordner auswä hlen lassen 263
Eine 'GetOpenFilename'-Anweisung erstellen 264
Eine Datei mit 'GetOpenFilename' auswä hlen 264
Pfad und Dateinamen mit 'GetSaveAsFilename' ermitteln 266
Einen Ordnernamen ermitteln 267
Eingebaute Excel-Dialogfelder anzeigen 267
Teil IV: Kommunikation mit Ihren Benutzern 271
Kapitel 16 UserForm-Grundlagen 273
Erkennen, wann man ein UserForm braucht 273
UserForms erstellen: ein Ü berblick 275
Mit UserForms arbeiten 276
Ein neues UserForm einfü gen 276
Einem UserForm Steuerelemente hinzufü gen 277
Die Eigenschaften eines UserForm-Steuerelements ä ndern 277
Den Codebereich fü r ein UserForm anzeigen 279
Ein UserForm anzeigen 279
Informationen aus einem UserForm verarbeiten 280
Ein UserForm-Beispiel 280
Das UserForm erstellen 281
Die Befehlsschaltflä chen hinzufü gen 281
Optionsfelder einfü gen 283
Prozeduren zur Ereignisverarbeitung einfü gen 284
Ein Makro anlegen, das das Dialogfeld anzeigt 286
Das Makro fü r den Benutzer bereitstellen 286
Das Makro testen 288
Kapitel 17 UserForm-Steuerelemente verwenden 291
Steuerelemente im Dialogfeld - die ersten Schritte 291
Steuerelemente hinzufü gen 292
Eigenschaften von Steuerelementen - Grundlagen 293
Details zu den Steuerelementen in einem Dialogfeld kennenlernen 295
Das 'CheckBox'-Steuerelement - Kontrollkä stchen 296
Das 'ComboBox'-Steuerelement - Kombinationsfeld 296
Das 'CommandButton'-Steuerelement - Befehlsschaltflä che 297
Das 'Frame'-Steuerelement - Rahmen 298
Das 'Image'-Steuerelement (Bildfeld) 298
Das 'Label'-Steuerelement (Bezeichnungsfeld) 299
Das 'ListBox'-Steuerelement (Listenfeld) 300
Das 'MultiPage'-Steuerelement - Multiseiten 301
Das 'OptionButton'-Steuerelement - Optionsfelder 302
Das 'RefEdit'-Steuerelement 302
Das 'ScrollBar'-Steuerelement - Bildlaufleiste 303
Das 'SpinButton'-Steuerelement - Drehfeld 304
Das 'TabStrip'-Steuerelement - Register 305
Das 'TextBox'-Steuerelement - Textfeld 305
Das 'ToggleButton'-Steuerelement - Umschaltfeld 306
Die Arbeit mit Steuerelementen in Dialogfeldern 306
Steuerelemente verschieben und ihre Grö ß e ä ndern 307
Steuerelemente ausrichten und Abstä nde einhalten 307
Tastaturbenutzern helfen 308
Ein UserForm testen 310
Dialogfeld-Ä sthetik 310
Kapitel 18 UserForms - Techniken und Tricks 311
Dialogfelder verwenden 311
Ein UserForm-Beispiel 312
Das Dialogfeld erstellen 312
Code fü r die Anzeige des Dialogfelds 315
Das Makro bereitstellen 315
Ihr Dialogfeld ausprobieren 316
Prozeduren zur Ereignisverarbeitung einfü gen 316
Die Daten auswerten 318
Jetzt funktioniert das Dialogfeld 319
Beispiel fü r ein Listenfeld-Steuerelement 319
Ein Listenfeld fü llen 320
Das ausgewä hlte Element bestimmen 321
Mehrfachauswahlen bestimmen 322
Einen Bereich auswä hlen 323
Mehrere Gruppen von Optionsfeldern verwenden 325
Ein Drehfeld und ein Textfeld verwenden 326
Ein UserForm als Fortschrittsanzeige verwenden 328
Ein Dialogfeld als Fortschrittsanzeige einrichten 329
Die Prozeduren 330
Wie dieses Beispiel funktioniert 331
Ein nicht modales Dialogfeld mit Registerkarten erstellen 332
Ein Diagramm in einem UserForm anzeigen 334
Eine Checkliste fü r Dialogfelder 335
Kapitel 19 Zugriff auf Ihre Makros ü ber die Benutzeroberflä che 337
Das Menü band anpassen 337
Das Menü band manuell anpassen 338
Dem Menü band ein Makro hinzufü gen 340
Anpassung des Menü bands mit XML 340
Die Excel-Benutzeroberflä che mit VBA anpassen 345
Befehle zur Registerkarte 'Add-Ins ' des Menü bands hinzufü gen 346
Dem Kontextmenü 'Cell' einen neuen Eintrag hinzufü gen 347
Anpassungen automatisch hinzufü gen 349
Kontextmenü s und das Single Document Interface verstehen 349
Teil V: Das groß e Ganze 351
Kapitel 20 Arbeitsblattfunktionen erstellen 353
Vereinfachen Sie mit benutzerdefinierten Funktionen Ihre Arbeit 353
Grundlagen der VBA-Funktionen 354
Funktionen schreiben 355
Mit Funktionsargumenten arbeiten 356
Eine Funktion ohne Argumente 356
Eine Funktion mit einem Argument 357
Eine Funktion mit zwei Argumenten 359
Eine Funktion mit einem Bereichsargument 360
Eine Funktion mit einem optionalen Argument 362
Wrapper-Funktionen 364
Die 'NumberFormat'-Funktion 364
Die 'ExtractElement'-Funktion 364
Die 'SayIt'-Funktion 365
Die 'IsLike'-Funktion 366
Funktionen, die ein Array zurü ckgeben 366
Ein Array mit Monatsnamen zurü ckgeben 366
Eine sortierte Liste zurü ckgeben 367
Das Dialogfeld 'Funktion einfü gen' verwenden 369
Die Funktionsbeschreibung anzeigen 369
Argumentbeschreibungen 371
Kapitel 21 Add-Ins in Excel erstellen 373
Was ist ein Add-In? 373
Grü nde fü r die Erstellung von Add-Ins 374
Die Arbeit mit Add-Ins 375
Add-In-Grundlagen 376
Sehen Sie sich ein Beispiel fü r ein Add-In an 377
Einrichtung der Arbeitsmappe 377
Die Arbeitsmappe testen 379
Beschreibende Informationen hinzufü gen 380
Den VBA-Code schü tzen 381
Das Add-In anlegen 381
Das Add-In ö ffnen 382
Das Add-In weitergeben 383
Das Add-In ä ndern 383
Teil VI: Der Top-Ten-Teil 385
Kapitel 22 Zehn nü tzliche Tipps fü r den Visual Basic-Editor 387
Kommentarblö cke verwenden 387
Mehrere Codezeilen kopieren 389
Zwischen Modulen und Prozeduren springen 389
Beamen Sie sich zu Ihren Funktionen 389
In der richtigen Prozedur bleiben 390
Den Code schrittweise ausfü hren 391
Zu einer bestimmten Codezeile springen 392
Die Codeausfü hrung an einer bestimmten Stelle unterbrechen 392
Den Anfang und das Ende des Variablenwerts anzeigen 393
Die automatische Syntaxü berprü fung ausschalten 394
Kapitel 23 Ressourcen mit Hilfe zu VBA 397
Lassen Sie Excel die Makros fü r Sie schreiben 397
Nutzen Sie das Hilfesystem 398
Stibitzen Sie Code im Internet 398
Userforen optimal nutzen 399
Besuchen Sie Experten-Blogs 400
Suchen Sie auf YouTube nach Schulungsvideos 400
Nehmen Sie an Onlinekursen teil 401
Vom Office Dev Center lernen 401
Analysieren Sie andere Excel-Dateien in Ihrem Unternehmen 401
Fragen Sie die Excel-Experten vor Ort 402
Kapitel 24 Zehn Dinge, die Sie beherzigen oder vermeiden sollten 403
Deklarieren Sie alle Variablen 403
Verwechseln Sie Passwö rter nicht mit Sicherheit 404
Bereinigen Sie Ihren Code 404
Schreiben Sie nicht alles in eine Prozedur 405
Denken Sie daran, dass es noch andere Software gibt 405
Gehen Sie nicht davon aus, dass alle Benutzer Makros aktivieren 405
Gewö hnen Sie sich an, zu experimentieren 405
Gehen Sie nicht davon aus, dass Ihr Code in anderen Excel-Versionen funktioniert 406
Denken Sie immer an Ihre Benutzer 406
Vergessen Sie die Datensicherung nicht! 406
Abbildungsverzeichnis 407
Stichwortverzeichnis 415