Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Geleitwort des Fachgutachters
15
1 Einführung
17
1.1 Was wird besser durch Makros und VBA?
17
1.2 MS Office 2016
19
1.3 Mit Makros arbeiten
20
1.3.1 Makro aufzeichnen
20
1.3.2 Makro ausführen
23
1.3.3 Makro ansehen
23
1.3.4 Makro speichern
25
1.3.5 Makrosicherheit ändern
26
1.3.6 Registerkarte »Entwicklertools«
28
1.3.7 Makrosicherheit dauerhaft ändern
29
1.4 Visual Basic Editor (VBE) als Entwicklungsumgebung
31
1.4.1 Menüleiste und Symbolleiste
31
1.4.2 Projekt-Explorer und Fenster »Eigenschaften«
32
1.4.3 Codefenster
33
1.5 Makrocode verstehen und ändern
34
1.6 Makro per Schaltfläche ausführen
36
1.7 Relative Verweise verwenden
37
1.8 Persönliche Makroarbeitsmappe
39
1.9 Code schreiben für einfache Ausgaben
41
1.9.1 Eigene Sub-Prozedur
41
1.9.2 In Zelle ausgeben
42
1.9.3 In Nachrichtenbox ausgeben
43
1.9.4 Im Direktfenster des VBE ausgeben
44
1.10 Mit Versionen vor Excel 2007 arbeiten
45
1.10.1 Makro aufzeichnen
45
1.10.2 Makro ausführen
46
1.10.3 Makro ansehen
46
1.10.4 Makro speichern
46
1.10.5 Makrosicherheit ändern
47
1.10.6 Symbolleiste »Visual Basic« einblenden
47
1.10.7 Visual Basic Editor (VBE) als Entwicklungsumgebung
47
1.10.8 Persönliche Makroarbeitsmappe verwalten
47
2 Grundlagen von Objekten und Ereignissen
49
2.1 Objekthierarchie und Auflistungen
49
2.2 Arbeitsmappen bearbeiten
50
2.2.1 Anzahl der Arbeitsmappen ermitteln
50
2.2.2 Neue Arbeitsmappe erzeugen
51
2.2.3 Vorhandene Arbeitsmappe öffnen
52
2.2.4 Alle Arbeitsmappen schließen
52
2.2.5 Name einer Arbeitsmappe ermitteln
53
2.2.6 Aktive Arbeitsmappe ermitteln
54
2.2.7 Arbeitsmappe aktivieren
55
2.2.8 Arbeitsmappe speichern
56
2.2.9 Arbeitsmappe über Index oder Namen auswählen
57
2.2.10 Pfad einer Arbeitsmappe ermitteln
57
2.3 Tabellenblätter bearbeiten
59
2.3.1 Tabellenblatt erzeugen
60
2.3.2 Tabellenblatt kopieren
60
2.3.3 Tabellenblatt verschieben
62
2.3.4 Tabellenblatt löschen
62
2.3.5 Tabellenblatt aktivieren
63
2.3.6 Tabellenblatt formatieren
63
2.3.7 Gitternetz, Zeilen- und Spaltenüberschriften
64
2.3.8 Seite einrichten
65
2.4 Auf Zellen und Zellbereiche zugreifen
67
2.4.1 Zellen über das Range-Objekt auswählen
68
2.4.2 Zellen über das Cells-Objekt auswählen
70
2.4.3 Zellinhalte verschieben oder kopieren
71
2.4.4 Teile von Zellinhalten kopieren
72
2.4.5 Zellinhalt löschen
73
2.4.6 Werte und Formeln eintragen
74
2.4.7 Zahlenformate anwenden
76
2.4.8 Zellen ausrichten
77
2.4.9 Schrifteigenschaften bestimmen
79
2.4.10 Einzelne Zeichen formatieren
80
2.4.11 Zellbereiche einrahmen
81
2.4.12 Hintergrundmuster von Zellen gestalten
82
2.4.13 Zellen einfügen
83
2.4.14 Zellen löschen
84
2.4.15 Zeilenhöhe und Spaltenbreite
85
2.4.16 Benutzten Zellbereich erkennen
86
2.4.17 Spezielle Zellen erkennen
88
2.4.18 Versatz mit Offset vornehmen
90
2.4.19 Zellbereich sortieren
92
2.5 Ereignisprozeduren schreiben
95
2.5.1 Arbeitsmappe wird geöffnet
96
2.5.2 Arbeitsmappe wird geschlossen
96
2.5.3 Tabellenblatt wird aktiviert
97
2.5.4 Zellbereich wird ausgewählt
97
2.5.5 Zelle wird doppelt angeklickt
98
2.5.6 Tabellenblatt wird neu berechnet
99
3 Grundlagen der Programmierung mit VBA
101
3.1 Allgemeines
101
3.1.1 Codeblöcke auskommentieren
102
3.1.2 Zeilen zerlegen
103
3.2 Variablen und Datentypen
104
3.2.1 Namen, Werte
104
3.2.2 Deklarationen
104
3.2.3 Datentypen
105
3.2.4 Konstanten und Enumerationen
109
3.3 Operatoren
112
3.3.1 Arithmetische Operatoren
113
3.3.2 Vergleichsoperatoren
116
3.3.3 Logische Operatoren
119
3.3.4 Verkettungsoperator
120
3.3.5 Rangfolge der Operatoren
121
3.4 Verzweigungen
123
3.4.1 Einzeiliges If … Then … Else
123
3.4.2 If-Then-Else-Block
124
3.4.3 Select Case
126
3.5 Schleifen
127
3.5.1 For-Next-Schleife
128
3.5.2 Do-Loop-Schleife
131
4 Fehlerbehandlung
137
4.1 Eine Anwendung entwickeln
137
4.2 Syntaxfehler
138
4.3 Laufzeitfehler
139
4.3.1 Programm mit Laufzeitfehlern
139
4.3.2 Laufzeitfehler abfangen: On Error
141
4.4 Logische Fehler und Debugging
143
4.4.1 Einzelschrittverfahren
143
4.4.2 Haltepunkte
145
5 Mehr über die Programmierung mit VBA
147
5.1 Gültigkeitsbereiche
147
5.2 Datenfelder
150
5.2.1 Eindimensionale Datenfelder
150
5.2.2 Datenfeld sortieren
153
5.2.3 Mehrdimensionale Datenfelder
154
5.2.4 Dynamische Datenfelder
157
5.2.5 Datenfelder löschen oder freigeben
159
5.3 Prozeduren und Funktionen
161
5.3.1 Prozeduren
162
5.3.2 Parameter übergeben
165
5.3.3 Funktionen
167
5.3.4 Optionale Parameter
171
5.3.5 Benannte Parameter
173
5.3.6 Beliebig viele Parameter
175
5.3.7 Datenfelder als Parameter
177
5.4 Benutzerdefinierter Datentyp
179
5.5 Modular programmieren
182
5.5.1 Code in der gleichen Datei
182
5.5.2 Code in einer anderen Datei
183
5.6 Module exportieren und importieren
185
5.6.1 Ein Modul exportieren
186
5.6.2 Ein Modul importieren
187
6 Mehr über Objekte
189
6.1 Objektkatalog
189
6.2 Objekte referenzieren
190
6.2.1 Beispiel »Zellen verschieben«
191
6.3 Mit With auf Objekte zugreifen
192
6.4 Mit Objektvariablen arbeiten
194
6.4.1 Objektvariablen hierarchisch zuweisen
195
6.4.2 Neue Objekte erzeugen
196
6.4.3 Objekttyp ermitteln
197
6.5 For-Each-Schleife
198
6.6 Collections
200
6.7 Hauptobjekt »Application«
202
6.7.1 Anwendungspfad ausgeben
202
6.7.2 Prozedur zeitverzögert aufrufen
202
6.7.3 Excel-Anwendung schließen
203
6.8 Filtern
203
7 Diagramme und Grafiken
209
7.1 Diagramm erstellen
210
7.1.1 Diagrammblatt erstellen
210
7.1.2 Eingebettetes Diagramm erstellen
212
7.2 Diagramm ändern
214
7.2.1 Diagrammblatt ändern
214
7.2.2 Eingebettetes Diagramm ändern
219
7.3 Diagramm verwalten
219
7.3.1 Diagrammblatt verwalten
220
7.3.2 Eingebettetes Diagramm verwalten
221
7.4 Beispiel: Formatiertes Kreisdiagramm
223
7.5 Shapes
226
7.5.1 Rechteck
226
7.5.2 Oval
228
7.5.3 Linie
229
7.5.4 Verbinder
230
7.5.5 Freiform
232
7.5.6 Alle Formen
235
7.6 WordArt
237
7.7 Bedingte Formatierungen
240
7.7.1 Datenbalken
240
7.7.2 Zweifarbige Farbskala
241
7.7.3 Dreifarbige Farbskala
242
7.7.4 Symbolsatz
244
7.8 Sparklines
246
7.8.1 Linie
246
7.8.2 Spalte
247
7.8.3 Gewinn/Verlust
248
7.8.4 Formatierung
248
7.8.5 Alle Farben
249
7.9 SmartArt
250
8 VBA- und Worksheet-Funktionen
253
8.1 Formeln zuweisen und lesen
255
8.1.1 Formeln zuweisen
255
8.1.2 Formeln lesen
256
8.2 Eingaben des Benutzers
257
8.2.1 Funktion »InputBox«
258
8.2.2 Methode »Application.InputBox«
259
8.3 Einfacher Dialog mit dem Benutzer
263
8.3.1 Schaltfläche »OK«
263
8.3.2 Schaltflächen – eine Übersicht
264
8.3.3 Zeichen »Information«
265
8.3.4 Systemmodal
265
8.3.5 Schaltflächen »Ja« und »Nein«
266
8.3.6 Drei Schaltflächen einschließlich Default-Schaltfläche
267
8.3.7 Schaltflächen »Wiederholen« und »Abbrechen«
268
8.3.8 Schaltflächen »Abbrechen«, »Wiederholen« und »Ignorieren«
269
8.4 Zeichenketten
270
8.4.1 Zeichenketten umwandeln
272
8.4.2 Ausgabeformatierung
273
8.4.3 Datensätze zusammenfügen
276
8.4.4 Datensätze zerlegen
277
8.5 Datum und Uhrzeit
278
8.5.1 Zeitintervall addieren
278
8.5.2 Zeitdifferenz berechnen
279
8.5.3 Datumsangaben erstellen und Wochentage markieren
280
8.5.4 Jahreskalender
281
8.5.5 ISO-Kalenderwoche berechnen
283
8.5.6 Arbeitstage berechnen
284
8.6 Weitere Funktionen
286
8.6.1 Anwendung unterbrechen
286
8.6.2 Einheiten umrechnen
287
8.6.3 Zwischen Zahlensystemen umrechnen
289
8.6.4 Zellen zählen
290
8.6.5 Webfunktionen nutzen
291
8.6.6 Größte und kleinste Werte finden
294
8.6.7 Zahlen runden
294
8.6.8 Römische und arabische Zahlen umwandeln
296
9 Externe Daten
297
9.1 Ein Überblick
297
9.2 Einfache Textdateien
298
9.2.1 Einfache Textdateien schreiben
298
9.2.2 Einfache Textdateien lesen
300
9.3 CSV-Dateien
302
9.3.1 CSV-Dateien schreiben
303
9.3.2 CSV-Dateien lesen
304
9.4 Dateien mit wahlfreiem Zugriff
306
9.4.1 Benutzerdefinierten Datentyp erstellen
306
9.4.2 Datei mit allen Datensätzen erstellen
307
9.4.3 An beliebiger Stelle lesen
309
9.4.4 An beliebiger Stelle schreiben
311
9.5 Mit Dateien arbeiten
312
9.5.1 Dateien suchen und auflisten
312
9.5.2 Informationen über Dateien ermitteln
314
9.5.3 Operationen mit Dateien durchführen
316
9.5.4 Operationen mit Verzeichnissen ausführen
318
9.6 Daten mit MS Word austauschen
320
9.6.1 Objektmodell von Word
320
9.6.2 Word-Absätze schreiben
321
9.6.3 Word-Absätze lesen
323
9.6.4 Word-Tabelle schreiben
325
9.6.5 Word-Tabelle lesen
327
9.6.6 Internetseite lesen
329
9.7 Daten mit MS Outlook austauschen
331
9.7.1 Objektmodell von Outlook
331
9.7.2 Eine Arbeitsmappe einfach als Anlage versenden
332
9.7.3 Integriertes E-Mail-Dialogfeld nutzen
334
9.7.4 Eine E-Mail zusammensetzen
335
9.7.5 Eine Serien-E-Mail erstellen
337
9.7.6 Bestimmten Bereich in E-Mail versenden
339
9.7.7 Auf Outlook-Verzeichnis zugreifen
341
9.7.8 Auf E-Mail-Anhänge zugreifen
343
9.7.9 Kontakt erzeugen
345
9.7.10 Auf Kontakte zugreifen
346
9.7.11 Termin erzeugen
347
9.7.12 Terminserie erzeugen
349
9.7.13 Auf Termine und Terminserien zugreifen
351
9.8 Daten mit MS Access austauschen
353
9.8.1 Beispieldatenbank: Aufbau
353
9.8.2 Beispieldatenbank: Verbindung herstellen
354
9.8.3 SQL-Befehle
355
9.8.4 Beispieldatenbank: Auswahlabfrage
355
9.8.5 Beispieldatenbank: Aktionsabfrage
358
9.8.6 SQL: Auswahlabfragen mit SELECT
359
9.8.7 SQL: Operatoren
361
9.8.8 SQL: Abfrageergebnis sortieren
363
9.8.9 SQL: Nach Eingabe über Auswahlabfragen suchen
364
9.8.10 SQL: Mit UPDATE über Aktionsabfragen ändern
365
9.8.11 SQL: Mit INSERT über Aktionsabfrage Datensätze einfügen
367
9.8.12 SQL: Mit DELETE über Aktionsabfrage Datensätze löschen
368
10 Dialogfelder
369
10.1 Integrierte Dialogfelder
369
10.1.1 Datei öffnen
370
10.1.2 Datei speichern unter
371
10.1.3 Hintergrundmuster für Zellbereich auswählen
371
10.1.4 Schriftformatierung für Zellbereich auswählen
372
10.2 Eigene Dialogfelder und Anwendungen
373
10.2.1 Erstes Beispiel
373
10.2.2 Erstes Beispiel: Gestaltung
374
10.2.3 Erstes Beispiel: Code
375
10.2.4 Erstes Beispiel starten
376
10.2.5 Mit Steuerelementen arbeiten
378
10.2.6 Textfeld und Bezeichnungsfeld
379
10.2.7 Optionsschaltflächen und Kontrollkästchen
381
10.2.8 Liste, Bildlaufleiste und Drehfeld
385
10.2.9 Ausgabeformatierung
388
10.2.10 RefEdit und Umschaltfeld
390
11 Beispielprojekte
393
11.1 Memory
393
11.1.1 Spielablauf
393
11.1.2 Aufbau des Spielfeldes
395
11.1.3 Spiel starten
396
11.1.4 Spiel bedienen
399
11.2 Snake
403
11.2.1 Spielablauf
403
11.2.2 Aufbau des Spielfeldes
405
11.2.3 Spiel starten
406
11.2.4 Spiel bedienen
410
11.3 Vokabeln
412
11.3.1 Programmablauf
412
11.3.2 Aufbau der Vokabelsammlung
414
11.3.3 Spiel starten
415
A Lösungen der Übungsaufgaben
421
B Der Autor
431
Index
433