Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
16
Geleitwort des Fachgutachters
17
1 Einführung
19
1.1 Was wird besser durch Makros und VBA?
19
1.2 MS Office 2019
21
1.3 Mit Makros arbeiten
22
1.3.1 Makro aufzeichnen
22
1.3.2 Makro ausführen
25
1.3.3 Makro ansehen
25
1.3.4 Makro speichern
27
1.3.5 Makrosicherheit ändern
28
1.3.6 Registerkarte »Entwicklertools«
30
1.3.7 Makrosicherheit dauerhaft ändern
31
1.4 Visual Basic Editor (VBE) als Entwicklungsumgebung
32
1.4.1 Menüleiste und Symbolleiste
33
1.4.2 Projekt-Explorer und Fenster »Eigenschaften«
34
1.4.3 Codefenster
35
1.5 Makrocode verstehen und ändern
36
1.6 Makro per Schaltfläche ausführen
38
1.7 Relative Verweise verwenden
39
1.8 Persönliche Makroarbeitsmappe
41
1.9 Code schreiben für einfache Ausgaben
43
1.9.1 Eigene Sub-Prozedur
43
1.9.2 In Zelle ausgeben
44
1.9.3 In Nachrichtenbox ausgeben
45
1.9.4 Im Direktfenster des VBE ausgeben
46
1.10 Microsoft 365
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
51
2.2.2 Neue Arbeitsmappe erzeugen
51
2.2.3 Vorhandene Arbeitsmappe öffnen
52
2.2.4 Alle Arbeitsmappen schließen
53
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
56
2.2.10 Pfad einer Arbeitsmappe ermitteln
57
2.3 Tabellenblätter bearbeiten
59
2.3.1 Tabellenblatt erzeugen
59
2.3.2 Tabellenblatt kopieren
60
2.3.3 Tabellenblatt verschieben
61
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
67
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
89
2.4.19 Zellbereich sortieren
92
2.5 Ereignisprozeduren schreiben
95
2.5.1 Arbeitsmappe wird geöffnet
95
2.5.2 Arbeitsmappe wird geschlossen
96
2.5.3 Tabellenblatt wird aktiviert
96
2.5.4 Zellbereich wird ausgewählt
97
2.5.5 Zelle wird doppelt angeklickt
98
2.5.6 Tabellenblatt wird neu berechnet
98
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
110
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
141
4.1 Eine Anwendung entwickeln
141
4.2 Syntaxfehler
142
4.3 Laufzeitfehler
143
4.3.1 Programm mit Laufzeitfehlern
143
4.3.2 Laufzeitfehler abfangen: »On Error«
145
4.4 Logische Fehler und Debugging
147
4.4.1 Einzelschrittverfahren
147
4.4.2 Haltepunkte
149
5 Mehr über die Programmierung mit VBA
151
5.1 Gültigkeitsbereiche
151
5.2 Datenfelder
154
5.2.1 Eindimensionale Datenfelder
154
5.2.2 Datenfeld sortieren
158
5.2.3 Mehrdimensionale Datenfelder
159
5.2.4 Dynamische Datenfelder
162
5.2.5 Datenfelder löschen oder freigeben
164
5.3 Prozeduren und Funktionen
166
5.3.1 Prozeduren
167
5.3.2 Parameter übergeben
170
5.3.3 Funktionen
172
5.3.4 Optionale Parameter
176
5.3.5 Benannte Parameter
178
5.3.6 Beliebig viele Parameter
180
5.3.7 Datenfelder als Parameter
182
5.3.8 Rekursive Prozeduren und Funktionen
184
5.4 Benutzerdefinierter Datentyp
185
5.5 Modular programmieren
188
5.5.1 Code in der gleichen Datei
188
5.5.2 Code in einer anderen Datei
190
5.6 Module exportieren und importieren
192
5.6.1 Ein Modul exportieren
192
5.6.2 Ein Modul importieren
193
6 Mehr über Objekte
195
6.1 Objektkatalog
195
6.2 Objekte referenzieren
196
6.2.1 Beispiel »Zellen verschieben«
197
6.3 Mit »With« auf Objekte zugreifen
198
6.4 Mit Objektvariablen arbeiten
200
6.4.1 Objektvariablen hierarchisch zuweisen
201
6.4.2 Neue Objekte erzeugen
202
6.4.3 Objekttyp ermitteln
203
6.5 For-Each-Schleife
205
6.6 Collections
207
6.7 Hauptobjekt »Application«
208
6.7.1 Anwendungspfad ausgeben
209
6.7.2 Prozedur zeitverzögert aufrufen
209
6.7.3 Excel-Anwendung schließen
210
6.8 Filtern
210
7 Diagramme und Grafiken
215
7.1 Diagramm erstellen
216
7.1.1 Diagrammblatt erstellen
216
7.1.2 Eingebettetes Diagramm erstellen
218
7.2 Diagramm ändern
220
7.2.1 Diagrammblatt ändern
220
7.2.2 Eingebettetes Diagramm ändern
224
7.3 Diagramm verwalten
225
7.3.1 Diagrammblatt verwalten
226
7.3.2 Eingebettetes Diagramm verwalten
227
7.4 Beispiel: Formatiertes Kreisdiagramm
229
7.5 Shapes
231
7.5.1 Rechteck
232
7.5.2 Oval
234
7.5.3 Linie
235
7.5.4 Verbinder
236
7.5.5 Freiform
238
7.5.6 Alle Formen
241
7.6 WordArt
243
7.7 Bedingte Formatierungen
245
7.7.1 Datenbalken
245
7.7.2 Zweifarbige Farbskala
246
7.7.3 Dreifarbige Farbskala
248
7.7.4 Symbolsatz
249
7.8 Sparklines
252
7.8.1 Linie
252
7.8.2 Spalte
253
7.8.3 Gewinn/Verlust
253
7.8.4 Formatierung
254
7.8.5 Alle Farben
255
7.9 SmartArt
255
7.10 Grafiken aus Bilddateien
257
7.10.1 Grafik einfügen
257
7.10.2 Grafik abschneiden
259
8 VBA- und Worksheet-Funktionen
263
8.1 Formeln zuweisen und lesen
264
8.1.1 Formeln zuweisen
265
8.1.2 Formeln lesen
266
8.2 Eingaben des Benutzers
267
8.2.1 Funktion »InputBox«
267
8.2.2 Methode »Application.InputBox«
269
8.3 Einfacher Dialog mit dem Benutzer
273
8.3.1 Schaltfläche »OK«
273
8.3.2 Schaltflächen – eine Übersicht
274
8.3.3 Zeichen »Information«
275
8.3.4 Systemmodal
275
8.3.5 Schaltflächen »Ja« und »Nein«
276
8.3.6 Drei Schaltflächen einschließlich Default-Schaltfläche
277
8.3.7 Schaltflächen »Wiederholen« und »Abbrechen«
278
8.3.8 Schaltflächen »Abbrechen«, »Wiederholen« und »Ignorieren«
279
8.4 Zeichenketten
281
8.4.1 Zeichenketten umwandeln
283
8.4.2 Ausgabeformatierung
284
8.4.3 Datensätze zusammenfügen
287
8.4.4 Datensätze zerlegen
288
8.5 Datum und Uhrzeit
289
8.5.1 Rechnen mit Zeitangaben
289
8.5.2 Datumsangaben erstellen und Wochentage markieren
290
8.5.3 Jahreskalender
292
8.5.4 ISO-Kalenderwoche berechnen
294
8.5.5 Arbeitstage berechnen
295
8.6 Weitere Funktionen
297
8.6.1 Anwendung unterbrechen
297
8.6.2 Einheiten umrechnen
298
8.6.3 Zwischen Zahlensystemen umrechnen
301
8.6.4 Zellen zählen
302
8.6.5 Größte und kleinste Werte finden
303
8.6.6 Zahlen runden
304
8.6.7 Römische und arabische Zahlen umwandeln
305
9 Externe Daten
307
9.1 Ein Überblick
307
9.2 Einfache Textdateien
308
9.2.1 Einfache Textdateien schreiben
308
9.2.2 Einfache Textdateien lesen
310
9.3 CSV-Dateien
312
9.3.1 CSV-Dateien schreiben
313
9.3.2 CSV-Dateien lesen
314
9.4 Dateien mit wahlfreiem Zugriff
316
9.4.1 Benutzerdefinierten Datentyp erstellen
316
9.4.2 Datei mit allen Datensätzen erstellen
317
9.4.3 An beliebiger Stelle lesen
319
9.4.4 An beliebiger Stelle schreiben
321
9.5 Mit Dateien arbeiten
322
9.5.1 Dateien suchen und auflisten
322
9.5.2 Informationen über Dateien ermitteln
324
9.5.3 Operationen mit Dateien durchführen
326
9.5.4 Operationen mit Verzeichnissen ausführen
328
9.6 Daten mit MS Word austauschen
330
9.6.1 Objektmodell von Word
330
9.6.2 Word-Absätze schreiben
331
9.6.3 Word-Absätze lesen
333
9.6.4 Word-Tabelle schreiben
335
9.6.5 Word-Tabelle lesen
337
9.6.6 Internetseite lesen
339
9.7 Daten mit MS Outlook austauschen
341
9.7.1 Objektmodell von Outlook
342
9.7.2 Eine Arbeitsmappe als Anlage versenden
343
9.7.3 Integriertes EMail-Dialogfeld nutzen
344
9.7.4 Eine EMail zusammensetzen
346
9.7.5 Eine Serien-EMail erstellen
348
9.7.6 Bestimmten Bereich in EMail versenden
350
9.7.7 Auf Outlook-Verzeichnis zugreifen
352
9.7.8 Auf EMail-Anhänge zugreifen
354
9.7.9 Kontakt erzeugen
357
9.7.10 Auf Kontakte zugreifen
358
9.7.11 Termin erzeugen
359
9.7.12 Terminserie erzeugen
361
9.7.13 Auf Termine und Terminserien zugreifen
363
9.8 Daten mit MS Access austauschen
365
9.8.1 Beispieldatenbank: Aufbau
365
9.8.2 Beispieldatenbank: Verbindung herstellen
366
9.8.3 SQL-Befehle
367
9.8.4 Beispieldatenbank: Auswahlabfrage
367
9.8.5 Beispieldatenbank: Aktionsabfrage
370
9.8.6 SQL: Auswahlabfragen mit SELECT
371
9.8.7 SQL: Operatoren
373
9.8.8 SQL: Abfrageergebnis sortieren
375
9.8.9 SQL: Nach Eingabe über Auswahlabfragen suchen
376
9.8.10 SQL: Mit »UPDATE« über Aktionsabfrage ändern
378
9.8.11 SQL: Mit »INSERT« über Aktionsabfrage Datensätze einfügen
379
9.8.12 SQL: Mit »DELETE« über Aktionsabfrage Datensätze löschen
380
9.9 Export in PDF-Dateien
381
9.9.1 Export einer Word-Datei
382
9.9.2 Export von Word-Dateien in einem Verzeichnis
383
9.9.3 Export einer Excel-Datei
384
9.9.4 Export von Excel-Dateien in einem Verzeichnis
385
9.9.5 Export von Dateien in einer Hierarchie
386
10 Dialogfelder
391
10.1 Integrierte Dialogfelder
391
10.1.1 Datei öffnen
392
10.1.2 Datei speichern unter
392
10.1.3 Hintergrundmuster für Zellbereich auswählen
393
10.1.4 Schriftformatierung für Zellbereich auswählen
394
10.2 Eigene Dialogfelder und Anwendungen
395
10.2.1 Erstes Beispiel
395
10.2.2 Erstes Beispiel: Gestaltung
395
10.2.3 Erstes Beispiel: Code
397
10.2.4 Erstes Beispiel starten
398
10.2.5 Mit Steuerelementen arbeiten
400
10.2.6 Textfeld und Beschriftungsfeld
401
10.2.7 Optionsfeld und Kontrollkästchen
403
10.2.8 Liste, Bildlaufleiste und Drehfeld
407
10.2.9 Ausgabeformatierung
410
10.2.10 RefEdit und Umschaltfeld
412
11 Beispielprojekte
415
11.1 Memory
415
11.1.1 Spielablauf
415
11.1.2 Aufbau des Spielfeldes
417
11.1.3 Spiel starten
418
11.1.4 Spiel bedienen
421
11.2 Snake
425
11.2.1 Spielablauf
426
11.2.2 Aufbau des Spielfeldes
427
11.2.3 Spiel starten
429
11.2.4 Spiel bedienen
433
11.3 Vokabeln
434
11.3.1 Programmablauf
435
11.3.2 Aufbau der Vokabelsammlung
436
11.3.3 Spiel starten
437
11.4 Puzzle
442
11.4.1 Ablauf des Puzzle-Spiels
442
11.4.2 Alle Bilder löschen
444
11.4.3 Schaltflächen für den Benutzer
444
11.4.4 Modulweite Variablen
445
11.4.5 Puzzle anzeigen und mischen
445
11.4.6 Benutzer wählt ein Puzzle-Teil aus
450
11.4.7 Zwei Puzzle-Teile werden getauscht
451
11.4.8 Prüfen der Positionen
451
11.4.9 Zum nächsten Spiel
453
Lösungen der Übungsaufgaben
455
Der Autor
475
Index
477