Skip to main content

Excel-VBA für Dummies, 2. Auflage

Excel-VBA für Dummies, 2. Auflage

John Walkenbach

ISBN: 978-3-527-71290-8

Mar 2016

411 pages

Select type: Paperback

Product not available for purchase

Über den Autor 9

Einführung 25

Haben Sie das richtige Buch gewählt? 25

Der obligatorische Abschnitt über typografische Konventionen 26

Überprüfen 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 möglich? 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 35

Neue Funktionen für die Arbeitsmappe entwickeln 35

Benutzerdefinierte Add-Ins für Excel erstellen 36

Vollständige makrogesteuerte Anwendungen erstellen 36

Vorteile und Nachteile von VBA 36

Vorteile von VBA 36

Nachteile von VBA 37

VBA in Kürze 37

Überblick über 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 überprüfen 47

Das Makro abändern 49

Arbeitsmappen mit Makros speichern 49

Makrosicherheit 50

Weitere Informationen über 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 hinzufügen 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 einfügen 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 für Sub-Prozeduren und Funktionsprozeduren 93

Sub-Prozeduren ausführen 93

Die Sub-Prozedur direkt ausführen 95

Die Prozedur vom Dialogfeld Makro aus ausführen 96

Ein Makro mithilfe einer Tastenkombination ausführen 97

Die Prozedur über eine Schaltfläche oder eine Form ausführen 98

Die Prozedur von einer anderen Prozedur aus ausführen 100

Funktionsprozeduren ausführen 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 Gültigkeitsbereich zuweisen 125

Mit Konstanten arbeiten 131

Vorgefertigte Konstanten 132

Mit Zeichenfolgen arbeiten 133

Mit Datumswerten arbeiten 134

Zuweisungsbefehle verwenden 135

Beispiele für 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 Überblick 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 für VBA-Funktionen 156

VBA-Funktionen, die mehr tun, als einen Wert zurückzugeben 158

VBA-Funktionen finden 159

Arbeitsblattfunktionen in VBA verwenden 162

Beispiele für Arbeitsblattfunktionen 162

Eingabe von Arbeitsblattfunktionen 165

Weitere Informationen über 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 für eine Schleife 179

For-Next-Schleifen 179

Do-While-Schleifen 185

Do-Until-Schleifen 186

For-Each-Next-Schleifen für Collections ausführen 186

Kapitel 11 Automatische Prozeduren und Ereignisse 189

Vorbereitung auf das große Ereignis 189

Sind Ereignisse praktisch? 190

Programmierung von Prozeduren zur Ereignisverarbeitung 191

Wo steht der VBA-Code? 192

Eine Prozedur zur Ereignisverarbeitung schreiben 193

Einführende Beispiele 194

Das Open-Ereignis für eine Arbeitsmappe 194

Das BeforeClose-Ereignis für eine Arbeitsmappe 197

Das BeforeSave-Ereignis für eine Arbeitsmappe 198

Beispiele für 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 Überblick 220

Erkennen, wann Fehler ignoriert werden können 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 überprüfen 227

Die MsgBox-Funktion verwenden 228

Debug.Print-Anweisungen einfügen 230

Verwendung des VBA-Debuggers 231

Der Debugger 231

Haltepunkte in Ihrem Code setzen 231

Das Überwachungsfenster 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 auswählen 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 abändern 248

Boolesche Einstellungen ändern 249

Nicht-Boolesche Einstellungen ändern 249

Diagramme 250

AddChart im Vergleich zu AddChart2 251

Den Diagrammtyp ändern 253

Die ChartObjects-Collection durchlaufen 253

Diagrammeigenschaften ändern 254

Diagrammformatierungen anwenden 254

VBA-Geschwindigkeitstipps 256

Die Bildschirmaktualisierung abschalten 256

Die automatische Berechnung ausschalten 257

Lästige 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 für eine InputBox 270

Ein weiterer Typ InputBox 272

Die Methode GetOpenFilename 273

Die Syntax für die GetOpenFilename-Methode 273

Ein Beispiel für 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 Überblick 280

Mit UserForms arbeiten 281

Ein neues UserForm einfügen 281

Einem UserForm Steuerelemente hinzufügen 282

Die Eigenschaften eines UserForm-Steuerelements ändern 283

Das Codefenster für ein UserForm anzeigen 285

Ein UserForm anzeigen 285

Informationen aus einem UserForm verarbeiten 286

Ein UserForm-Beispiel 286

Das UserForm anlegen 287

Die Befehlsschaltflächen hinzufügen 287

Optionsfelder einfügen 289

Prozeduren zur Ereignisverarbeitung einfügen 291

Ein Makro anlegen, das das Dialogfeld anzeigt 293

Das Makro für den Benutzer bereitstellen 293

Das Makro testen 294

Kapitel 17 UserForm-Steuerelemente verwenden 297

Steuerelemente im Dialogfeld: Die ersten Schritte 297

Steuerelemente hinzufügen 297

Eigenschaften von Steuerelementen – Grundlagen 299

Steuerelemente in einem Dialogfeld: Die Details 300

Das CheckBox-Steuerelement – Kontrollkästchen 301

Das ComboBox-Steuerelement – Kombinationsfeld 302

Das CommandButton-Steuerelement – Befehlsschaltfläche 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 Größe ändern 313

Steuerelemente ausrichten und Abstände einhalten 314

Tastaturbenutzern helfen 315

Ein UserForm testen 317

Dialogfeld-Ästhetik 317

Kapitel 18 UserForms – Techniken und Tricks 319

Dialogfelder verwenden 319

Ein UserForm-Beispiel 319

Das Dialogfeld anlegen 320

Code für die Anzeige des Dialogfelds 323

Das Makro bereitstellen 323

Ihr Dialogfeld ausprobieren 324

Prozeduren zur Ereignisverarbeitung einfügen 324

Die Daten auswerten 326

Jetzt funktioniert das Dialogfeld 327

Weitere UserForm-Beispiele 327

Ein Listenfeld-Beispiel 327

Einen Bereich auswählen 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 über die Benutzeroberfläche 347

Das Menüband anpassen 347

Das Menüband manuell anpassen 347

Dem Menüband ein Makro hinzufügen 350

Anpassung des Menübands mit XML 350

Kontextmenüs anpassen 355

Dem Kontextmenü Zelle einen neuen Eintrag hinzufügen 355

Was ist anders in Excel 2013 und Excel 2016? 358

Teil V Das große Ganze 359

Kapitel 20 Funktionen für Arbeitsblätter 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 zurückgeben 374

Ein Array mit Monatsnamen zurückgeben 374

Eine sortierte Liste zurückgeben 375

Das Dialogfeld Funktion einfügen 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 hinzufügen 388

Den VBA-Code schützen 389

Das Add-In anlegen 390

Das Add-In öffnen 390

Das Add-In weitergeben 390

Das Add-In ändern 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 Bücher 401

Kapitel 24 Zehn Dinge, die Sie beherzigen oder vermeiden sollten 403

Deklarieren Sie alle Variablen 403

Verwechseln Sie Passwörter 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

Gewöhnen 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