Suchen und Finden
Inhalt
6
Vorwort
16
1 Grundlagen der VBA-Programmierung
22
1.1 Allgemeiner Aufbau der Prozeduren
22
1.1.1 Die Syntax einer Prozedur
23
1.1.2 Kommentare
24
1.1.3 Programmzeilen
25
1.2 Variablen, Konstanten und Datentypen
26
1.2.1 Eigene Datentypen
28
1.2.2 Konstanten
30
1.2.3 Datenfelder, Arrays
30
1.2.4 Namensschilder für Schulungen
34
1.3 Ein- und Ausgabe
41
1.4 Operatoren, Verknüpfungen und Verzweigungen
43
1.4.1 Operatoren
43
1.4.2 Die Konjunktionen in VBA
45
1.5 Verzweigungen
46
1.5.1 Verzweigungen I
46
1.5.2 Verzweigungen II
47
1.5.3 Verzweigungen III
48
1.5.4 Verzweigungen IV
48
1.6 VBA-Funktionen
51
1.6.1 Informationsabfragen
52
1.6.2 Die mathematischen Funktionen
52
1.6.3 Die String-Funktionen
53
1.6.4 Die Uhrzeit- und Datumsfunktionen
54
1.6.5 Die Funktion Format
56
1.6.6 Umwandlungsfunktionen
57
1.7 Selbst erzeugte Funktionen, Aufrufe und Parameterübergabe
64
1.7.1 Aufruf
64
1.7.2 Globale Variablen
66
1.7.3 Übergabe
66
1.8 Schleifen, rekursives Programmieren
69
1.9 Fehler
90
1.9.1 Programmierfehler
90
1.9.2 Fehler zur Laufzeit
93
1.10 Fazit
106
2 Dialoge
108
2.1 Dialoge
108
2.1.1 Der Verkäuferstamm einer Firma
108
2.1.2 Die Daten werden ausgelesen
109
2.1.3 Neue Daten hinzufügen
111
2.1.4 Daten löschen
114
2.1.5 Plausibilitätsprüfung
116
2.2 Ein weiteres Beispiel zu vielen Steuerelementen: ein Bewertungsformular
123
2.2.1 Eingaben überprüfen
128
2.2.2 Dialog schließen
130
2.3 Viele „Kleinigkeiten“
131
2.3.1 Mehrspaltige Listenfelder
131
2.3.2 Mauszeiger auf UserForm
132
2.3.3 Das Rechenergebnis der Eingabe dynamisch anzeigen
134
2.3.4 Andere Informationen dynamisch anzeigen
134
2.3.5 Datenmerken (Suchen/Weitersuchen)
138
2.3.6 Alberne Spielereien?
141
2.3.7 UserFormen vergrößern und verkleinern
147
2.3.8 Steuerelemente dynamisch erzeugen
153
2.3.9 Multiseiten mit neu programmierten Steuerelementen
157
2.3.10 Das Multiseiten-Objekt (allgemein)
161
2.4 Excel-Dialoge
163
2.5 Überwachte Ordner
164
2.5.1 Fazit
167
3 Klassen
170
3.1 Was sind Klassen?
170
3.2 Eigenschaften von Objekten
172
3.3 Methode
173
3.4 Überprüfen und Leeren
176
3.5 Die Praxis
177
3.6 Und Property Set?
184
3.7 Sammlungen
185
3.8 Mehrsprachige Oberflächen mit VBA realisieren
185
3.9 Ereignisse in Klassen
195
3.10 Fazit
199
4 Der Makrorekorder
200
4.1 Der Makrorekorder
200
4.2 Der zweifelhafte Code des Makrorekorders
203
4.2.1 Zu viel Code
203
4.2.2 Nicht immer der beste Code
205
4.2.3 Nicht immer Code
206
4.2.4 Fehlerhafter Code
206
4.2.5 Excel-VBA „hilft“ in VBA nicht immer
207
4.2.6 Excel zeichnet „unscharf“ auf
207
4.3 Fazit
208
5 Das Excel-Objektmodell: Application
210
5.1 Oberstes Objekt von Excel: Application
210
5.1.1 Die Version
215
5.1.2 Die Bildschirmanzeige
216
5.1.3 Warnmeldungen
216
5.1.4 Die verschiedenen Display-Eigenschaften
217
5.1.5 Evaluate
219
5.1.6 InputBox
220
5.2 Fazit
221
6 Das Excel-Objektmodell: Workbook
222
6.1 ActiveWorkbook und ThisWorkbook
222
6.1.1 Alle offenen Dateien
222
6.1.2 Schließen
223
6.1.3 Speichern
224
6.1.4 Drucken
226
6.1.5 Öffnen
227
6.1.6 Neu
230
6.1.7 Löschen
234
6.2 Fazit
235
7 Das Excel-Objektmodell: Worksheet
236
7.1 Zugriff auf Tabellenblätter: Worksheet und Sheet
236
7.1.1 Blätter: Wesen mit mehreren Namen
237
7.1.2 Wichtige Methoden der Tabellenblätter
238
7.1.3 Blätter löschen und neu erzeugen
240
7.1.4 Blätter umbenennen
243
7.1.5 Blätter kopieren und verschieben
243
7.1.6 Blätter verbergen und schützen
243
7.1.7 Blätter schützen
245
7.1.8 Seite einrichten
246
7.1.9 Existiert ein Blatt?
250
7.2 Fazit
256
8 Das Excel-Objektmodell: Range
258
8.1 Zellen: Rows und Columns, Range und Cell
259
8.1.1 Cell, Range, Selection, ActiveCell & Co
259
8.1.2 „Bewegen“: Bereich verschieben
262
8.1.3 Der Zellbezug verschwindet
263
8.1.4 Kopieren, Ausschneiden und Einfügen
264
8.1.5 Zeilen und Spalten
265
8.1.6 Wie viele Zeilen (Spalten)?
266
8.1.7 Zeilen oder Spalten ausfüllen
268
8.1.8 Text, Value und Value2
271
8.1.9 Zellen und Zellinhalte löschen
271
8.1.10 Zellfomate
272
8.1.11 Kommentare
278
8.2 Namen
279
8.3 Beispiele
281
8.3.1 Daten suchen
281
8.3.2 Daten eintragen
283
8.3.3 Listen synchronisieren
284
8.4 Rechnen in Excel
290
8.5 Zugriff auf Zeichen innerhalb einer Zelle
295
8.6 Hilfsmittel in Excel
297
8.6.1 Datenüberprüfung (Gültigkeit)
297
8.6.2 Bedingte Formatierung
300
8.6.3 Benutzerdefinierte Listen
303
8.6.4 Autokorrektur
306
8.7 Listen in Excel
308
8.7.1 Daten sortieren
308
8.7.2 Daten filtern: Autofilter und Spezialfilter
311
8.7.3 Teilsummen
318
8.7.4 Text in Spalten trennen
320
8.8 Duplikate entfernen?
322
8.8.1 Sortieren und Zeilen löschen
322
8.8.2 Filtern ohne Duplikate
323
8.8.3 Anzahl berechnen, filtern und löschen
324
8.8.4 Pivottabelle
326
8.8.5 RemoveDuplicates
326
8.8.6 Bedingte Formatierung
326
8.9 Fazit
328
9 Eigene Funktionen erstellen
330
9.1 Die Codeeingabe
330
9.2 Folgende Funktionsklassen stehen in Excel zur Verfügung:
331
9.2.1 Funktionen ohne Parameter
331
9.2.2 Funktionen, die ein Argument verarbeiten
333
9.2.3 Funktionen, die mehrere Argumente verarbeiten, die alle eingegeben werden müssen
335
9.2.4 Funktionen mit mehreren Parametern, die nicht alle eingegeben werden müssen
340
9.2.5 Funktionen, die mehrere Zellen oder Bereiche verarbeiten können
344
9.2.6 Funktionen, die mehrere Werte zurückgeben
346
9.3 Benutzerfehler in der Eingabe
351
9.4 Die Anzeige im Funktionsassistenten
352
9.5 Speichern der VBA-Funktionen
354
9.6 Fazit
355
10 Diagramme
356
10.1 Die Aufgabe
356
10.1.1 Die Objekte Chart und ChartObject
358
10.1.2 Die Daten
359
10.2 Fazit
372
11 Pivottabellen
376
11.1 Pivottabellen erzeugen
376
11.2 Fazit
388
12 Ribbons erstellen
390
12.1 Das neue Datenformat
390
12.2 Symbole einfügen
392
12.3 Code
394
12.4 Die Tags und ihre Attribute
395
12.5 Beispiele
399
12.5.1 labelControl
399
12.5.2 button
400
12.5.3 toggleButton und separator
400
12.5.4 checkBox
400
12.5.5 editBox
400
12.5.6 dropDown mit buttons
401
12.5.7 dropDown mit items
401
12.5.8 comboBox mit items
401
12.5.9 gallery
402
12.5.10 menu und menuSeperator
403
12.6 Die Ereignisse hinter den Symbolen
404
12.7 Dynamische Symbole
409
12.8 Eine Spielerei mit den Symbolen
415
12.9 Mehrere Symbole in einer Gruppe
420
12.10 Symbole in die Standardtabs einfügen
420
12.11 Symbole – externe und interne
425
12.12 Fazit
431
13 Symbolleisten, Menüleisten und Tastenkombinationen
434
13.1 Symbolleisten
434
13.1.1 Alle Menüpunkte
438
13.1.2 Vorhandene Menüs und Symbolleisten ändern
439
13.1.3 Neue Menüs und Symbole erzeugen
440
13.2 Tastenkombinationen
454
13.3 Fazit
456
14 Add-Ins
458
14.1 Muss es immer ein Add-In sein?
458
14.2 Weitere Dateien im Order XLStart
461
14.3 Add-Ins mit Excel erstellen
462
14.4 Add-Ins installieren oder deinstallieren
464
14.5 Add-Ins verteilen
465
14.6 Add-Ins mit Visual Studio
465
14.6.1 Erstellen eines Add-Ins
466
14.7 Add-Ins mit Aufgabenbereichen
473
14.8 Fazit
476
15 VBE
478
15.1 Starten von Makros aus anderen Dateien
478
15.2 Lesen und Schreiben von Makros aus anderen/in andere Dateien
479
15.3 Eigene Menüpunkte im VBE erzeugen
489
15.4 Fazit
492
16 Makros starten und verteilen
494
16.1 Schaltflächen in Tabellenblättern
494
16.2 Ereignisse
497
16.3 Die OnAction-Ereignisse
506
16.4 Prozeduren global für Excel zur Verfügung stellen
506
16.5 Makros verteilen
507
16.6 Fazit
508
17 VBA-Anwendungen für verschiedene Office- Versionen schreiben
510
17.1 VBA-Anwendungen für verschiedene Office-Versionen schreiben
511
17.1.1 Sprachkern
511
17.1.2 Programmierumgebung
514
17.1.3 Dialoge
515
17.1.4 Symbole und Symbolleisten
516
17.1.5 Office
519
17.1.6 Achtung vor dem Makrorekorder!
519
17.1.7 Ereignisse
522
17.1.8 Einige Objekte
522
17.1.9 Einbinden von Verweisen
527
17.2 Fazit
527
18 Internationale Anwendungen
528
18.1 Trennzeichen
529
18.2 Länderspezifische Datumsprobleme
534
18.3 Formeln
535
18.4 Fazit
538
19 VBA und Sicherheit
540
19.1 VBA und Sicherheit
540
19.2 Makros verbergen
543
19.3 Makros schützen
543
19.4 Sicherheitseinstellungen ausschalten
544
19.5 Polymorphe und mutierende Makroviren
545
19.6 Wo finden sich die Einstellungen?
546
19.7 Zusammenfassung
547
19.8 Das Vertrauensstellungscenter
547
19.8.1 Vertrauenswürdige Herausgeber
547
19.8.2 Vertrauenswürdige Speicherorte
547
19.8.3 Add-Ins
548
19.8.4 ActiveX-Einstellungen
549
19.8.5 Einstellungen für Makros
550
19.8.6 Statusleiste
551
19.8.7 Externer Inhalt
552
19.8.8 Datenschutzoptionen
552
19.9 Fazit
554
20 Dateizugriff
556
20.1 Dateizugriff
556
20.2 Dateien löschen, kopieren, verschieben ...
557
20.3 Das FileSearch-Objekt
560
20.4 Informationen in Dateien schreiben und auslesen
561
20.4.1 ini-Dateien
561
20.4.2 Zugriff auf die Registry
562
20.4.3 Sequenzielle Dateien
564
20.4.4 Textdateien
566
20.5 Daten „merken“
568
20.5.1 Dokumenteigenschaften
568
20.5.2 Word: Dokumentvariablen
572
20.5.3 Excel: verborgene Zellinhalte
576
20.6 Fazit
577
21 XML-Dokumente
580
21.1 XML-Grundlagen
580
21.1.1 Weitere Tags
583
21.1.2 Der Zeichensatz
586
21.1.3 CDATA-Abschnitte
588
21.1.4 Kommentare
589
21.1.5 Attribute
591
21.1.6 Ein oder mehrere Attribute im Dokument
591
21.1.7 Attribut oder Element?
592
21.1.8 Microsoft Office und XML
593
21.1.9 Zusammenfassung von XML
594
21.2 XML, HTML und XSL – die Ausgabe
595
21.2.1 XSL
596
21.2.2 Der Aufbau einer XSL-Datei
596
21.2.3 Mehrere Kind-Elemente anzeigen
598
21.2.4 Alle Elemente einer Ebene anzeigen
601
21.2.5 Attribute auslesen
602
21.2.6 STYLE in SPAN und DIV
603
21.2.7 Tabellen
607
21.2.8 Daten sortieren
611
21.2.9 Daten filtern
611
21.2.10 Ebenen durchlaufen
614
21.2.11 Entscheidungen
615
21.2.12 Bilder
623
21.2.13 Hyperlinks
629
21.2.14 Zusammenfassung von XSL
633
21.3 XML mit VBA lesen und schreiben
634
21.3.1 Das DOM
634
21.3.2 XML-Dokumente auslesen
634
21.3.3 Zugriff auf Attribute
635
21.3.4 Weitere XML-Elemente in VBA
637
21.3.5 Durchlaufen von mehreren Ebenen
642
21.3.6 Ein neues XML-Dokument erzeugen
644
21.3.7 Neue Elemente erzeugen
646
21.3.8 Erzeugen von XML-Objekten und Eigenschaften
651
21.3.9 Löschen von Elementen im XML-Dokument
654
21.3.10 Transformationen von XML mit dem DOM
654
21.3.11 Mit dem DOM soll ein XML-Dokument transformiert werden
657
21.3.12 Zusammenfassung VBA und XML
662
21.4 Zwei Beispiele
663
21.4.1 Erstes Beispiel: eine Literaturliste
663
21.4.2 Zweites Beispiel: ein Speiseplan im Intranet
676
21.4.3 Fazit
686
22 API-Funktionen
688
22.1 Das Windows API
688
22.1.1 Aufruf einer API-Funktion
688
22.1.2 Die Declare-Anweisung
689
22.2 Beispiele für den Einsatz von APIs
690
22.2.1 GetSystemMetrics
690
22.2.2 SetTimer
691
22.2.3 SHBrowseForFolder
691
22.2.4 Registry
695
22.2.5 Laufwerksart
696
22.2.6 CD-ROM-Laufwerk öffnen und schließen
697
22.2.7 Läuft ein Programm
698
22.2.8 Es muss nicht immer eine API sein: Environ
701
22.3 Fazit
703
23 Excel und das Internet
706
23.1 Excel als Browser
706
23.2 Excel ruft einen Browser auf
706
23.3 HTML-Export
708
23.4 Daten per Mail versenden
711
23.5 Fazit
715
24 Ein Reporting-Tool mit Excel
716
24.1 Die Teile des Reporting-Tools
716
24.1.1 Ein neues Geschäftsjahr
717
24.1.2 Daten auf Diskette sichern
720
24.2 Die Datenauswertung
722
24.2.1 Blätter löschen und neu erzeugen
723
24.2.2 Daten schreiben und „merken“
725
24.2.3 Zahlen formatieren – deutsch oder US-amerikanisch
727
24.2.4 Daten formatieren
728
24.2.5 Formeln und Funktionen eintragen: deutsch oder US-amerikanisch
731
24.2.6 Daten sortieren
734
24.2.7 Teilergebnisse
735
24.2.8 Spezialfilter
736
24.2.9 Nachträgliche Korrekturen
738
24.3 Daten zusammenfassen
742
24.4 Neue Versionen verteilen
747
24.5 Fazit
751
25 Ein Vorlagen-Explorer
754
25.1 Die Abteilungsmaske
754
25.2 Favoriten
763
25.3 Eigene Vorlagen
766
25.4 Vorlagen suchen
767
25.5 Fazit
767
26 Kalender
770
26.1 Der Gruppenkalender für Urlaube
770
26.2 Kalender erstellen
776
26.3 Fazit
781
27 Datenaustausch zwischen den Programmen
782
27.1 Ein Programm aus einem anderen starten
782
27.2 Zugriff auf Office-Programme: Late Binding
786
27.3 Early Binding
790
27.4 Ein Rechnungsformular in Word
794
27.5 Zeugnisse für Schulnoten
802
27.6 Zugriff von PowerPoint auf Excel
805
27.7 Outlook-Kontakte nach Excel schreiben
814
27.8 Ein Termin nach Outlook
817
27.9 Export von Visio-Daten nach Excel
819
27.10 Eine Berichtsdatenbank – überwachte Ordner
822
27.11 Fazit
834
28 Vorschlag für eine VBA-Richtlinie
836
28.1 Code
836
28.1.1 Kommentare konsequent
836
28.1.2 Namen
837
28.1.3 Variablen, Variablennamen und ihre Deklaration
838
28.1.4 Codezeilen
839
28.1.5 Verkettungen
839
28.1.6 Verzweigungen
840
28.1.7 Rücken Sie konsequent ein
840
28.1.8 Schleifen
841
28.2 Programmierstil und Programmierstrategien
842
28.2.1 Fehler abfangen
842
28.2.2 Prozeduren und Routinen, Module und Klassen
843
28.2.3 Objekte
844
28.2.4 Programmierstil
844
28.2.5 Strategien für die Benutzereingaben
845
28.2.6 Strategien für die Datenausgabe
846
28.2.7 Vor der Auslieferung
846
28.3 Fazit
847
29 Was noch fehlt
848
29.1 Verbesserungen von MS Excel?
848
29.2 Wenn ich mir was wünschen dürfte
848
29.3 Fazit
854
Register
856
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.