Kenntnisse in VBA-Programmierung sind wichtig, um noch mehr aus Excel herauszuholen. Die Excel-Experten Michael Alexander und Dick Kusleika erklären Ihnen zunächst die Grundlagen von VBA. Dann geben Sie Ihnen einen Einblick in die wichtigsten Programmiertechniken. Später widmen Sie sich den fortgeschritteneren Techniken und erläutern wie Sie UserForms arbeiten. Sie führen Sie auch in viele scheinbar kleine, aber trotzdem wichtige Gebiete rund um Excel-VBA ein. So finden Sie in diesem Buch was Sie brauchen, ob Sie Einsteiger in Excel-VBA sind oder hier schon erste Erfahrungen gesammelt haben.
Inhaltsverzeichnis
Ü ber die Autoren 7 Einleitung 27
Themen dieses Buches 27
Was Sie wissen sollten 28
Was Sie brauchen 28
Konventionen in diesem Buch 28
Excel-Befehle 29
Visual-Basic-Editor-Befehle 29
Tastatureingaben 29
Was die Symbole bedeuten 30
Wie dieses Buch aufgebaut ist 31
Teil I: Einfü hrung in Excel-VBA 31
Teil II: Fortgeschrittene VBA-Techniken 31
Teil III: Mit UserForms arbeiten 31
Teil IV: Excel-Anwendungen entwickeln 32
Teil V: Anhang 32
Ü ber die Website zum Buch 32
Teil I Einfü hrung in Excel-VBA 33
Kapitel 1 Grundlagen der Entwicklung von Arbeitsblattanwendungen 35
Was ist eine Arbeitsblattanwendung 35
Schritte bei der Entwicklung der Anwendung 36
Die Anforderungen der Anwender ermitteln 37
Eine Anwendung planen, die die Anforderungen der Anwender erfü llt 38
Die am besten geeignete Benutzeroberflä che festlegen 40
Anpassen des Menü bands 41
Anpassen der Kontextmenü s 41
Tastenkombinationen definieren 41
Benutzerdefinierte Dialogfelder erstellen 42
ActiveX-Steuerelemente auf einem Arbeitsblatt verwenden 43
Die Anwendung entwickeln 45
Denken Sie immer an den Anwender 45
Die Anwendung testen 45
Die Anwendung narrensicher machen 46
Erstellen Sie eine ä sthetisch ansprechende und intuitive Anwendung 48
Ein Hilfesystem erstellen 49
Dokumentieren Sie Ihre Entwicklungsarbeit 50
Die Anwendung an die Benutzer verteilen 50
Die Anwendung updaten, falls nö tig 51
Weitere Punkte, die fü r die Entwicklung wichtig sind 51
Die beim Anwender installierte Excel-Version 51
Probleme aufgrund der Sprache 51
Systemgeschwindigkeit 52
Videomodi 52
Kapitel 2 Einfü hrung in Visual Basic for Applications 55
Sich mit dem Makrorekorder einen Vorsprung verschaffen 55
Ihr erstes Makro erstellen 56
Das Makro untersuchen 57
Ihr Makro testen 58
Ihr Makro bearbeiten 59
Absolute und relative Makroaufzeichnung im Vergleich 59
Makros mit absoluten Verweisen aufzeichnen 59
Makros mit relativen Verweisen aufzeichnen 62
Weitere Konzepte fü r die Makroaufzeichnung 64
Dateierweiterungen fü r Arbeitsmappen mit Makros 65
Makrosicherheit in Excel 65
Vertrauenswü rdige Speicherorte 65
Makros in Ihrer persö nlichen Makroarbeitsmappe abspeichern 66
Ein Makro einer Schaltflä che oder einem anderen Formularsteuerelement zuweisen 67
Ein Makro in die Symbolleiste fü r den Schnellzugriff einfü gen 69
In Visual Basic-Editor arbeiten 70
Die VBE-Komponenten verstehen 70
Mit dem Projekt-Explorer arbeiten 72
Ein neues VBA-Modul einfü gen 73
Ein VBA-Modul entfernen 74
Im Codefenster arbeiten 75
Fenster minimieren und maximieren 75
VBA-Code in ein Modul einfü gen 75
Die VBA-Entwicklungsumgebung anpassen 78
Die Registerkarte 'Editor' 78
Die Registerkarte 'Editorformat' 80
Die Registerkarte 'Allgemein' 81
Die Registerkarte 'Verankern' 82
VBA-Grundlagen 82
Objekte verstehen 83
Sammlungen verstehen 84
Eigenschaften verstehen 84
Methoden verstehen 87
Tiefer einsteigen: Range-Objekte einsetzen 89
Die Eigenschaften des Range-Objekts finden 89
Die Eigenschaft Range 89
Die Eigenschaft Cells 91
Die Eigenschaft Offset 93
Wichtige Konzepte, die Sie sich merken sollten 95
Keine Panik - Sie sind nicht allein 97
Lesen Sie den Rest dieses Buches 97
Lassen Sie sich von Excel beim Schreiben Ihres Makros helfen 97
Verwenden Sie die VBA-Hilfedateien 97
Verwenden Sie den Objektkatalog 98
Stibitzen Sie Code im Internet 100
Userforen optimal nutzen 100
Besuchen Sie Experten-Blogs 101
Suchen Sie auf YouTube nach Schulungsvideos 102
Vom Office Dev Center lernen 102
Analysieren Sie andere Excel-Dateien in Ihrem Unternehmen 102
Fragen Sie die Excel-Experten vor Ort 102
Kapitel 3 VBA-Programmiergrundlagen 103
VBA-Sprachelemente - Ein Ü berblick 103
Kommentare 105
Variablen, Datentypen und Konstanten 107
Datentypen definieren 108
Variablen deklarieren 110
Den Datentyp ermitteln 111
Zwingen Sie sich, alle Variablen zu deklarieren 111
Gü ltigkeitsbereich von Variablen 112
Ö ffentliche Variablen 115
Konstanten verwenden 115
Mit Zeichenfolgen arbeiten 117
Mit Datumswerten arbeiten 117
Zuweisungsanweisungen 119
Arrays 121
Arrays deklarieren 121
Mehrdimensionale Arrays deklarieren 122
Dynamische Arrays deklarieren 123
Objektvariablen 123
Benutzerdefinierte Datentypen 125
Eingebaute Funktionen 126
Mit Objekten und Sammlungen arbeiten 129
Das With-End With-Konstrukt 129
Die For Each-Next-Schleife 130
Die Codeausfü hrung steuern 132
GoTo-Anweisungen 133
If-Then-Verzweigung 133
Select Case-Verzweigung 138
Anweisungsblö cke in einer Schleife ausfü hren 141
Do Until-Schleifen 148
Kapitel 4 VBA-Sub-Prozeduren verwenden 151
Ü ber Prozeduren 151
Eine Sub-Prozedur deklarieren 152
Gü ltigkeitsbereich und Sichtbarkeit einer Prozedur festlegen 153
Sub-Prozeduren ausfü hren 154
Eine Prozedur mit dem Befehl 'Sub/UserForm ausfü hren' starten 155
Eine Prozedur vom Dialogfeld 'Makro' aus ausfü hren 155
Eine Prozedur durch Drü cken einer Tastenkombination ausfü hren 156
Eine Prozedur ü ber das Menü band ausfü hren 158
Eine Prozedur ü ber ein benutzerdefiniertes Kontextmenü ausfü hren 158
Eine Prozedur von einer anderen Prozedur aus ausfü hren 158
Eine Prozedur in einem anderen Modul ausfü hren 160
Eine Prozedur in einer anderen Arbeitsmappe aufrufen 160
Eine Prozedur durch Anklicken eines Objekts ausfü hren 163
Eine Prozedur beim Eintritt eines Ereignisses ausfü hren 165
Eine Prozedur vom Direktfenster aus ausfü hren 165
Argumente an Prozeduren ü bergeben 166
Techniken zur Behandlung von Fehlern 170
Fehler abfangen 170
Beispiele fü r die Fehlerbehandlung 172
Ein realistisches Beispiel, das Sub-Prozeduren verwendet 175
Das Ziel 176
Anforderungen an das Projekt 176
Was Sie wissen 176
Der Ansatz 177
Ein paar vorbereitende Aufzeichnungen 178
Das anfä ngliche Setup 179
Den Code schreiben 180
Die Prozedur fü r die Sortierung schreiben 181
Mehr Tests 186
Die Probleme beheben 187
Verfü gbarkeit des Tools 190
Das Projekt evaluieren 191
Kapitel 5 Funktionsprozeduren erstellen 193
Sub-Prozeduren und Funktionsprozeduren im Vergleich 193
Warum benutzerdefinierte Funktionen erstellen 194
Ein einfü hrendes Beispiel fü r eine Funktion 194
Die Funktion in einem Tabellenblatt verwenden 195
Die Funktion in einer VBA-Prozedur verwenden 196
Die benutzerdefinierte Funktion analysieren 197
Funktionsprozeduren 199
Gü ltigkeitsbereich von Funktionsprozeduren 200
Funktionsprozeduren ausfü hren 201
Funktionsargumente 205
Beispiele fü r Funktionsprozeduren 205
Funktionsprozeduren ohne Argumente 205
Eine Funktionsprozedur mit einem Argument 208
Eine Funktionsprozedur mit zwei Argumenten 211
Eine Funktionsprozedur mit einem Array-Argument 212
Eine Funktionsprozedur mit optionalen Argumenten 213
Eine Funktionsprozedur, die ein VBA-Array zurü ckgibt 215
Eine Funktionsprozedur, die einen Fehlerwert zurü ckgibt 218
Eine Funktionsprozedur mit einer beliebigen Anzahl Argumenten 219
Die Excel-Funktion SUMME emulieren 221
Erweiterte Datumsfunktionen 224
Funktionen debuggen 226
Das Dialogfeld 'Funktion einfü gen' berü cksichtigen 228
Die Methode 'MacroOptions' verwenden 228
Eine Funktionskategorie angeben 230
Eine Funktionsbeschreibung von Hand hinzufü gen 232
Benutzerdefinierte Funktionen in Add-Ins speichern 232
Die Windows-API verwenden 233
Windows-API-Beispiele 234
Das Windows-Verzeichnis ermitteln 234
Den Status der Umschalttasten ermitteln 235
Mehr ü ber API-Funktionen lernen 236
Kapitel 6 Die Excel-Ereignisse verstehen 237
Was Sie ü ber Ereignisse wissen sollten 237
Ereignissequenzen verstehen 238
Wo kommen die Prozeduren fü r die Ereignisverarbeitung hin 238
Ereignisse deaktivieren 240
Den Code fü r eine Ereignisprozedur eingeben 242
Prozeduren zur Ereignisverarbeitung, die Argumente verwenden 243
Sich mit den Ereignissen auf der Arbeitsmappenebene vertraut machen 245
Das Ereignis Open 246
Das Ereignis Activate 247
Das Ereignis SheetActivate 247
Das Ereignis NewSheet 247
Das Ereignis BeforeSave 248
Das Ereignis Deactivate 248
Das Ereignis BeforePrint 249
Das Ereignis BeforeClose 250
Die Arbeitsblattereignisse untersuchen 253
Das Ereignis Change 253
Einen bestimmten Bereich auf Ä nderungen ü berwachen 254
Das Ereignis SelectionChange 260
Das Ereignis BeforeDoubleClick 261
Das Ereignis BeforeRightClick 262
Ereignisse auf Anwendungsebene ü berwachen 263
Ereignisse auf Anwendungsebene aktivieren 264
Feststellen, wann eine Arbeitsmappe geö ffnet wird 265
Ereignisse auf Anwendungsebene ü berwachen 266
Ereignisse verwenden, die nicht mit einem Objekt verknü pft sind 267
Das Ereignis OnTime 267
Das Ereignis OnKey 269
Kapitel 7 VBA-Programmierung: Beispiele und Techniken 275
Am Beispiel lernen 275
Mit Bereichen arbeiten 276
Einen Bereich kopieren 276
Einen Bereich verschieben 277
Einen Bereich variabler Grö ß e kopieren 277
Unterschiedliche Arten von Bereichen auswä hlen und erkennen 279
Die Grö ß e eines Bereichs ä ndern 282
Einen Zellwert anfordern 282
Einen Wert in die nä chste leere Zelle eingeben 284
Ein Makro anhalten, damit der Anwender einen Bereich auswä hlen kann 285
Ausgewä hlte Zellen zä hlen 287
Den Typ des ausgewä hlten Bereichs bestimmen 288
Einen Bereich effizient in einer Schleife durchlaufen 290
Alle leeren Zeilen lö schen 294
Zeilen beliebig oft duplizieren 295
Feststellen, ob ein Bereich in einem anderen enthalten ist 296
Den Datentyp einer Zelle bestimmen 297
Bereiche lesen und schreiben 298
Ein besserer Ansatz, um einen Bereich zu schreiben 300
Eindimensionale Arrays ü bertragen 302
Einen Bereich in ein Variant-Array ü bertragen 302
Zellen anhand ihres Wertes auswä hlen 303
Einen nicht zusammenhä ngenden Bereich kopieren 305
Mit Arbeitsmappen und Blä ttern arbeiten 307
Alle Arbeitsmappen speichern 307
Alle Arbeitsmappen speichern und schließ en 308
Alles, bis auf die Auswahl ausblenden 308
Ein Inhaltsverzeichnis mit Hyperlinks erstellen 310
Tabellenblä tter synchronisieren 311
VBA-Techniken 312
Eine boolesche Eigenschaft umschalten 312
Das Datum und die Zeit anzeigen 313
Eine freundliche Zeit anzeigen 315
Liste der installierten Schriftarten erstellen 317
Ein Array sortieren 318
Eine Reihe von Dateien bearbeiten 320
Einige nü tzliche Funktionen, die Sie in Ihrem Code verwenden kö nnen 322
Die Funktion FileExists 322
Die Funktion FileNameOnly 322
Die Funktion PathExists 323
Die Funktion RangeNameExists 323
Die Funktion SheetExists 324
Die Funktion WorkbookIsOpen 324
Einen Wert aus einer geschlossenen Arbeitsmappe abrufen 325
Einige nü tzliche Arbeitsblattfunktionen 327
Informationen ü ber die Zellformatierung zurü ckgeben 328
Ein sprechendes Tabellenblatt 329
Datum anzeigen, an dem eine Datei gespeichert oder gedruckt wurde 330
Ü bergeordnete Objekte verstehen 331
Zellen zä hlen, deren Wert zwischen zwei Werten liegen 332
Die letzte, nicht leere Zelle einer Spalte oder Zeile ermitteln 333
Entspricht eine Zeichenfolge einem Muster? 334
Das n-te Elemente aus einer Zeichenfolge extrahieren 336
Eine Zahl in Worten 336
Eine Funktion mit mehreren Funktionen 337
Die Funktion SHEETOFFSET 338
Den grö ß ten Wert einer Zelle in allen Arbeitsblä ttern 339
Ein Array mit zufä lligen Ganzzahlen ohne Duplikate zurü ckgeben 341
Einen Bereich zufä llig anordnen 342
Einen Bereich sortieren 344
Windows-API-Aufrufe 345
API-Deklarationen verstehen 345
32-Bit- und 64-Bit-Deklarationen 346
Dateiverknü pfung ermitteln 347
Informationen zum Standarddrucker abrufen 348
Informationen zu den Bildschirmen abrufen 350
Lesen aus und schreiben in die Registrierungsdatenbank 351
Aus der Registrierungsdatenbank lesen 352
In die Registrierungsdatenbank schreiben 352
Teil II Fortgeschrittene VBA-Techniken 355
Kapitel 8 Mit PivotTables arbeiten 357
Ein einfü hrendes Beispiel in PivotTables 357
Eine PivotTable erstellen 358
Den aufgezeichneten Code fü r die PivotTable untersuchen 360
Den aufgezeichneten PivotTable-Code aufrä umen 361
Eine komplexere PivotTable erstellen 363
Der Code, der die PivotTable erstellt 365
So funktioniert der Code fü r die komplexe PivotTable 366
Mehrere PivotTables erstellen 368
Eine PivotTable in eine normale Tabelle konvertieren 372
Kapitel 9 Mit Diagrammen arbeiten 375
Das Innenleben von Diagrammen 375
Speicherorte von Diagrammen 375
Der Makrorekorder und Diagramme 376
Das Chart-Objektmodell 377
Ein eingebettetes Diagramm erstellen 378
Ein Diagramm auf einem Diagrammblatt erstellen 380
Diagramme bearbeiten 380
Mit VBA ein Diagramm aktivieren 381
Ein Diagramm verschieben 382
Mit VBA ein Diagramm deaktivieren 384
Prü fen, ob ein Diagramm aktiviert ist 384
Diagramme aus den Sammlungen ChartObjects und Charts entfernen 385
Alle Diagramme in einer Schleife durchlaufen 386
Grö ß e und Ausrichtung eines ChartObject ä ndern 389
Ganz viele Diagramme erstellen 390
Ein Diagramm exportieren 393
Alle Grafiken exportieren 393
Die im Diagramm verwendeten Daten ä ndern 395
Diagrammdaten in Abhä ngigkeit von der aktiven Zelle ä ndern 396
Mit VBA die in einem Diagramm dargestellten Datenbereiche ermitteln 398
Mit VBA beliebige Datenbeschriftungen in einem Diagramm anzeigen 401
Ein Diagramm in einem UserForm anzeigen 405
Diagrammereignisse verstehen 408
Ein Beispiel fü r die Verwendung von Diagrammereignissen 409
Ereignisse fü r ein eingebettetes Diagramm aktivieren 411
Beispiel: Diagrammereignisse fü r ein eingebettetes Diagramm verwenden 413
VBA-Tricks fü r Diagramme 415
Eingebettete Diagramme auf einer eigenen Seite ausdrucken 415
Verknü pfung zwischen Diagramm und Datenquelle aufheben 416
Mit dem Ereignis MouseOver Text anzeigen 419
Ein Diagramm scrollen 421
Mit Sparklinediagrammen arbeiten 423
Kapitel 10 Zusammenarbeit mit anderen Anwendungen 427
Microsoft-Office-Automatisierung verstehen 427
Das Konzept der Bindung verstehen 427
Frü he Bindung 428
Spä te Bindung 429
Ein einfaches Automatisierungsbeispiel 430
Access von Excel aus automatisieren 431
Eine Access-Abfrage von Excel aus ausfü hren 431
Ein Access-Makro von Excel aus starten 432
Word von Excel aus automatisieren 433
Excel-Daten an ein Word-Dokument senden 434
Seriendruck mit einem Word-Dokument simulieren 435
PowerPoint von Excel aus automatisieren 438
Excel-Daten an eine PowerPoint-Prä sentation senden 438
Alle Excel-Diagramme an eine PowerPoint-Prä sentation senden 439
Eine Arbeitsmappe in eine PowerPoint-Prä sentation konvertieren 441
Outlook von Excel aus automatisieren 443
Die aktive Arbeitsmappe als Anhang mailen 443
Einen bestimmten Zellbereich als Anlage mailen 444
Ein einzelnes Arbeitsblatt als Anhang mailen 446
E-Mail an alle Adressen in Ihrer Kontaktliste senden 447
Andere Anwendungen von Excel aus starten 448
Die VBA-Funktion Shell verwenden 449
Die Windows-API-Funktion ShellExecute verwenden 451
AppActivate verwenden 453
Dialogfelder der Systemsteuerung starten 454
Kapitel 11 Externe Daten und Dateien verwenden 455
Externe Datenverbindungen verwenden 455
Manuell eine Datenverbindung einrichten 455
Datenverbindungen manuell bearbeiten 460
Mit VBA dynamische Datenverbindungen erstellen 461
Alle Verbindungen in einer Arbeitsmappe durchlaufen 464
Externe Daten mit ADO und VBA abrufen 465
Die Verbindungszeichenfolge 465
Ein Recordset deklarieren 467
Auf die ADO-Objektbibliothek verweisen 467
Alles im Code zusammenbringen 469
ADO mit der aktiven Arbeitsmappe verwenden 470
Grundlagen fü r das Arbeiten mit Textdateien 472
Eine Textdatei ö ffnen 473
Eine Textdatei lesen 474
In eine Textdatei schreiben 474
Eine Dateinummer abrufen 474
Lese-/Schreibposition ermitteln oder festlegen 475
Anweisungen fü r das Lesen und das Schreiben 476
Beispiele fü r das Arbeiten mit Textdateien 476
Daten aus einer Textdatei importieren 476
Einen Zellbereich in eine Textdatei exportieren 477
Eine Textdatei in einen Bereich importieren 478
Die Excel-Nutzung protokollieren 479
Eine Textdatei filtern 480
Gebrä uchliche Dateioperationen durchfü hren 481
Die dateibezogenen VBA-Anweisungen verwenden 481
Das Objekt FileSystemObject verwenden 487
Zippen und Entzippen von Dateien 489
Dateien zippen 490
Eine Datei entzippen 491
Teil III Mit UserForms arbeiten 493
Kapitel 12 Benutzerdefinierte Dialogfelder 495
Bevor Sie dieses UserForm erstellen . . . 495
Eingabefelder 495
Die VBA-Funktion InputBox 495
Die Methode Application. InputBox 498
Die VBA-Funktion MsgBox 501
Die Excel-Methode GetOpenFilename 507
Die Excel-Methode GetSaveAsFilename 510
Abfrage eines Verzeichnisses 511
Die eingebauten Dialogfelder von Excel anzeigen 511
Ein Dateneingabeformular anzeigen 514
Das Datenformular bereitstellen 515
Ein Dateneingabeformular mit VBA anzeigen 516
Kapitel 13 UserForms - eine Einfü hrung 517
Wie Excel benutzerdefinierte Dialogfelder verarbeitet 517
Ein neues UserForm einfü gen 518
Einem UserForm Steuerelemente hinzufü gen 518
Steuerelemente in der Toolsammlung 519
Kontrollkä stchen - CheckBox 520
Kombinationsfeld - ComboBox 520
CommandButton - Befehlsschaltflä che 521
Frame - Rahmen 521
Image - Bildfeld 521
Label - Beschriftung 521
ListBox - Listenfeld 521
MultiPage - Element mit mehreren Registerkarten 521
OptionButton - Optionsfelder 522
RefEdit - Zellbereich 522
ScrollBar - Bildlaufleiste 522
SpinButton - Drehfeld 522
TabStrip - Registerfeld 522
TextBox - Textfeld 522
ToggleButton - Umschalter 523
Anpassung von UserForm-Steuerelementen 524
Die Eigenschaften eines Steuerelements anpassen 526
Das Eigenschaften-Fenster 526
Gemeinsame Eigenschaften 528
Bequemlichkeit fü r Tastaturbenutzer 530
Ein UserForm anzeigen 532
Die Anzeigeposition anpassen 533
Ein nicht modales UserForm anzeigen 533
Ein UserForm basierend auf einer Variablen anzeigen 533
Ein UserForm laden 534
Ereignisprozeduren 534
Ein UserForm schließ en 534
Ein UserForm erstellen: Ein Beispiel 536
Das UserForm erstellen 536
Code schreiben, mit dem das Dialogfeld angezeigt wird 539
Das Dialogfeld testen 540
Ereignisprozeduren hinzufü gen 541
Das fertige Dialogfeld 543
UserForm-Ereignisse 543
Informationen ü ber Ereignisse 543
UserForm-Ereignisse 545
Drehfeld-Ereignisse 545
Ein Drehfeld mit einem Textfeld kombinieren 547
Verweise auf UserForm-Steuerelemente 550
Die Werkzeugsammlung anpassen 551
Der Werkzeugsammlung neue Seiten hinzufü gen 551
Steuerelemente anpassen oder kombinieren 551
Neue ActiveX-Steuerelemente hinzufü gen 553
UserForm-Schablonen erstellen 554
Eine UserForm-Checkliste 555
Kapitel 14 UserForms - Beispiele 557
Ein UserForm als 'Menü' anlegen 557
Befehlsschaltflä chen in einem UserForm verwenden 557
Ein Listenfeld in einem UserForm verwenden 558
Auswahl von Bereichen in einem UserForm 560
Einen Begrü ß ungsbildschirm erstellen 561
Die Schließ en-Schaltflä che eines UserForms deaktivieren 564
Die Grö ß e eines UserForms ä ndern 565
Ein Blatt aus einem UserForm heraus vergrö ß ern und blä ttern 567
Listenfeld-Techniken 569
Einem ListBox-Steuerelement Elemente hinzufü gen 570
Das in einem Listenfeld ausgewä hlte Element ermitteln 575
Mehrfachauswahlen in einem Listenfeld bestimmen 576
Mehrere Listen in einem einzelnen Listenfeld 577
Ü bertragung von Listenfeldelementen 578
Elemente in einem Listenfeld verschieben 580
Mehrspaltige Listenfelder 582
Mit einem Listenfeld Zeilen in einem Arbeitsblatt auswä hlen 584
Mit einem Listenfeld ein Blatt aktivieren 586
Ein Listenfeld ü ber ein Textfeld filtern 589
Das MultiPage-Steuerelement in einem UserForm verwenden 592
Ein externes Steuerelement verwenden 593
Ein Beschriftungsfeld animieren 596
Kapitel 15 Erweiterte UserForm-Techniken 599
Ein nicht modales Dialogfeld 599
Eine Fortschrittsanzeige anzeigen 603
Eine unabhä ngige Fortschrittsanzeige erstellen 604
Eine in ein UserForm integrierte Fortschrittsanzeige anzeigen 608
Eine nicht grafische Fortschrittsanzeige erstellen 612
Assistenten erstellen 615
Einrichtung des 'MultiPage'-Steuerelements fü r den Assistenten 616
Dem UserForm des Assistenten die Schaltflä chen hinzufü gen 617
Die Schaltflä chen des Assistenten programmieren 617
Abhä ngigkeiten in einem Assistenten programmieren 619
Die Aufgabe mit dem Assistenten erledigen 621
Die 'MsgBox'-Funktion emulieren 622
'MsgBox'-Emulation: 'MyMsgBox'-Code 623
Wie die 'MyMsgBox'-Funktion funktioniert 624
Verwendung der 'MyMsgBox'-Funktion 626
Ein UserForm mit beweglichen Steuerelementen 626
Ein UserForm ohne Titelleiste 628
Mit einem UserForm eine Symbolleiste simulieren 630
Ein Aufgabenfeld mit einem UserForm emulieren 632
Ein grö ß enverstellbares UserForm 634
Mehrere UserForm-Steuerelemente mit einer Ereignisprozedur verarbeiten 638
Auswahl einer Farbe in einem UserForm 641
Ein Diagramm in einem UserForm anzeigen 644
Ein Diagramm als GIF-Datei speichern 645
Die 'Picture'-Eigenschaft des Image-Steuerelements ä ndern 645
Ein halbtransparentes UserForm erstellen 645
Ein Puzzle auf einem UserForm 647
Video Poker auf einem UserForm 649
Teil IV Excel-Anwendungen entwickeln 651
Kapitel 16 Add-Ins erstellen und verwenden 653
Was ist ein Add-In? 653
Vergleich eines Add-Ins mit einer Standardarbeitsmappe 653
Warum erstellt man Add-Ins? 654
Der Add-In-Manager von Excel 656
Ein Add-In erstellen 658
Ein Add-In-Beispiel 659
Aussagekrä ftige Informationen fü r das Beispiel-Add-In hinzufü gen 661
Ein Add-In erstellen 661
Ein Add-In installieren 662
Das Add-In testen 663
Ein Add-In weitergeben 664
Ein Add-In ä ndern 665
XLAM- und XLSM-Dateien vergleichen 666
Die XLAM-Datei als Element der VBA-Collection 666
Sichtbarkeit von XLSM- und XLAM-Dateien 666
Arbeitsblä tter und Diagrammblä tter in XLSM- und XLAM-Dateien 667
Zugriff auf VBA-Prozeduren in einem Add-In 668
Add-Ins mit VBA manipulieren 671
Der AddIns-Collection ein Element hinzufü gen 672
Ein Element aus der AddIns-Collection entfernen 673
AddIn-Objekteigenschaften 673
Auf ein Add-In als Arbeitsmappe zugreifen 676
AddIn-Objektereignisse 677
Die Leistung von Add-Ins optimieren 677
Spezielle Probleme mit Add-Ins 678
Sicherstellen, dass ein Add-In installiert ist 678
Von einem Add-In aus auf andere Dateien verweisen 681
Die richtige Excel-Version fü r Ihr Add-In erkennen 681
Kapitel 17 Mit dem Menü band arbeiten 683
Menü band - Grundlagen 683
Das Menü band anpassen 685
Dem Menü band eine Schaltflä che hinzufü gen 685
Der Symbolleiste fü r den Schnellzugriff eine Schaltflä che hinzufü gen 688
Die Einschrä nkungen der Menü band-Anpassungen verstehen 690
Ein benutzerdefiniertes Menü band erstellen 691
Einer vorhandenen Registerkarte eine Schaltflä che hinzufü gen 691
Einer vorhandenen Registerkarte ein Kontrollkä stchen hinzufü gen 696
Menü band-Steuerelemente - Demo 701
Beispiel fü r ein dynamicMenu-Steuerelement 710
Weitere Informationen zur Anpassung des Menü bands 713
VBA fü r das Menü band verwenden 714
Zugriff auf ein Menü band-Steuerelement 715
Mit dem Menü band arbeiten 716
Eine Registerkarte aktivieren 718
Eine Symbolleiste im alten Stil erstellen 718
Einschrä nkungen der alten Symbolleisten aus Excel 2007 und frü her 718
Code fü r die Erstellung einer Symbolleiste 719
Kapitel 18 Mit Kontextmenü s arbeiten 723
CommandBar-Ü bersicht 723
CommandBar-Typen 723
Kontextmenü s auflisten 724
Verweise auf CommandBars 725
Verweis auf Steuerelemente in einer CommandBar 726
Eigenschaften von CommandBar-Steuerelementen 728
Anzeige aller Kontextmenü elemente 728
Mit VBA Kontextmenü s anpassen 731
Kontextmenü und das Single-Document Interface 731
Ein Kontextmenü zurü cksetzen 734
Ein Kontextmenü deaktivieren 735
Einträ ge von Kontextmenü s deaktivieren 736
Dem Kontextmenü 'Zelle' einen neuen Eintrag hinzufü gen 736
Einem Kontextmenü ein Untermenü hinzufü gen 739
Ein Kontextmenü auf eine einzelne Arbeitsmappe beschrä nken 741
Kontextmenü s und Ereignisse 742
Menü s automatisch hinzufü gen und entfernen 742
Kontextmenü einträ ge deaktivieren oder ausblenden 743
Ein kontextabhä ngiges Kontextmenü erstellen 743
Kapitel 19 Hilfe fü r Ihre Anwendungen bereitstellen 747
Hilfe fü r Ihre Excel-Anwendungen 747
Hilfesysteme, die Excel-Komponenten verwenden 749
Zellenkommentare fü r die Hilfe verwenden 750
Ein Textfeld fü r Hilfe verwenden 751
Hilfe auf einem Arbeitsblatt anzeigen 752
Hilfe in einem UserForm anzeigen 754
Hilfe in einem Webbrowser anzeigen 758
HTML-Dateien verwenden 758
Eine MHTML-Datei verwenden 759
Das HTML-Hilfesystem verwenden 761
Mit der Help-Methode HTML-Hilfe anzeigen 764
Ihrer Prozedur eine Hilfedatei zuordnen 765
Einer VBA-Funktion ein Hilfethema zuordnen 765
Kapitel 20 Klassenmodule 769
Was ist e