Einstieg in VBA mit Excel - Für Microsoft Excel 2002 bis 2010
von: Thomas Theis
Galileo Press, 2010
ISBN: 9783836216654
Sprache: Deutsch
415 Seiten, Download: 10692 KB
Format: PDF, auch als Online-Lesen
Liebe Leserin, lieber Leser, | 3 | ||
Auf einen Blick | 4 | ||
Inhalt | 6 | ||
Geleitwort des Fachgutachters | 14 | ||
1 Einführung | 16 | ||
1.1 Was wird besser durch Makros und VBA? | 16 | ||
1.2 Arbeiten mit Makros | 18 | ||
1.2.1 Makro aufzeichnen | 19 | ||
1.2.2 Makro ausführen | 22 | ||
1.2.3 Makro ansehen | 22 | ||
1.2.4 Makro speichern | 24 | ||
1.2.5 Makrosicherheit ändern | 25 | ||
1.2.6 Registerkarte »Entwicklertools« | 26 | ||
1.2.7 Makrosicherheit dauerhaft ändern | 27 | ||
1.3 Entwicklungsumgebung »Visual Basic Editor« | 29 | ||
1.3.1 Menüleiste und Symbolleiste | 29 | ||
1.3.2 Projekt-Explorer und Eigenschaften-Fenster | 30 | ||
1.3.3 Codefenster | 31 | ||
1.4 Makrocode verstehen und ändern | 32 | ||
1.5 Makro per Schaltfläche ausführen | 34 | ||
1.6 Relative Aufzeichnung | 35 | ||
1.7 Persönliche Makroarbeitsmappe | 37 | ||
1.8 Code schreiben, einfache Ausgabe | 39 | ||
1.8.1 Eigene Sub-Prozedur | 39 | ||
1.8.2 Ausgabe in Zelle | 40 | ||
1.8.3 Ausgabe in Nachrichtenbox | 41 | ||
1.8.4 Ausgabe im Direktfenster des VBE | 42 | ||
1.9 Arbeiten mit Excel vor der Version 2007 | 42 | ||
1.9.1 Makro aufzeichnen | 43 | ||
1.9.2 Makro ausführen | 43 | ||
1.9.3 Makro ansehen | 43 | ||
1.9.4 Makro speichern | 44 | ||
1.9.5 Makrosicherheit | 44 | ||
1.9.6 Symbolleiste »Visual Basic« | 45 | ||
1.9.7 Entwicklungsumgebung Visual Basic Editor | 45 | ||
1.9.8 Persönliche Makroarbeitsmappe | 45 | ||
2 Grundlagen von Objekten und Ereignissen | 46 | ||
2.1 Objekthierarchie und Auflistungen | 46 | ||
2.2 Arbeitsmappen | 47 | ||
2.2.1 Anzahl Arbeitsmappen ermitteln | 48 | ||
2.2.2 Neue Arbeitsmappe erzeugen | 48 | ||
2.2.3 Vorhandene Arbeitsmappe öffnen | 49 | ||
2.2.4 Alle Arbeitsmappen schließen | 49 | ||
2.2.5 Name einer Arbeitsmappe ermitteln | 50 | ||
2.2.6 Aktive Arbeitsmappe | 51 | ||
2.2.7 Arbeitsmappe aktivieren | 52 | ||
2.2.8 Arbeitsmappe speichern | 52 | ||
2.2.9 Arbeitsmappe über Index oder Name auswählen | 53 | ||
2.2.10 Pfad einer Arbeitsmappe ermitteln | 54 | ||
2.3 Tabellenblätter | 56 | ||
2.3.1 Tabellenblatt erzeugen | 56 | ||
2.3.2 Tabellenblatt kopieren | 57 | ||
2.3.3 Tabellenblatt verschieben | 58 | ||
2.3.4 Tabellenblatt löschen | 59 | ||
2.3.5 Tabellenblatt aktivieren | 59 | ||
2.3.6 Tabellenblatt formatieren | 60 | ||
2.3.7 Gitternetz, Zeilen- und Spaltenüberschrift | 60 | ||
2.3.8 Seiteneinrichtung | 61 | ||
2.4 Zellen und Zellbereiche | 63 | ||
2.4.1 Zellen über »Range« auswählen | 64 | ||
2.4.2 Zellen über »Cells« auswählen | 66 | ||
2.4.3 Zellinhalte verschieben oder kopieren | 67 | ||
2.4.4 Teile von Zellinhalten kopieren | 68 | ||
2.4.5 Zellinhalt löschen | 69 | ||
2.4.6 Werte und Formeln eintragen | 70 | ||
2.4.7 Zellformat »Zahlen« | 71 | ||
2.4.8 Zellformat »Ausrichtung« | 73 | ||
2.4.9 Zellformat »Schrift« | 74 | ||
2.4.10 Einzelne Zeichen formatieren | 75 | ||
2.4.11 Zellformat »Rahmen« | 76 | ||
2.4.12 Zellformat »Muster« | 77 | ||
2.4.13 Zellen einfügen | 78 | ||
2.4.14 Zellen löschen | 79 | ||
2.4.15 Zeilenhöhe und Spaltenbreite | 80 | ||
2.4.16 Benutzten Zellbereich erkennen | 81 | ||
2.4.17 Spezielle Zellen erkennen | 82 | ||
2.4.18 Versatz mit Offset | 84 | ||
2.4.19 Zellbereich sortieren | 86 | ||
2.5 Ereignisprozeduren | 89 | ||
2.5.1 Arbeitsmappe wird geöffnet | 90 | ||
2.5.2 Arbeitsmappe wird geschlossen | 90 | ||
2.5.3 Tabellenblatt wird aktiviert | 91 | ||
2.5.4 Zellauswahl wechselt | 91 | ||
2.5.5 Doppelklick auf Zelle | 92 | ||
2.5.6 Tabellenblatt wurde neu berechnet | 92 | ||
3 Grundlagen der Programmierung mit VBA | 94 | ||
3.1 Allgemeines | 94 | ||
3.1.1 Codeblöcke auskommentieren | 95 | ||
3.1.2 Zeilen zerlegen | 96 | ||
3.2 Variablen und Datentypen | 97 | ||
3.2.1 Namen, Werte | 97 | ||
3.2.2 Deklarationen | 97 | ||
3.2.3 Datentypen | 98 | ||
3.2.4 Konstanten | 102 | ||
3.3 Operatoren | 103 | ||
3.3.1 Arithmetische Operatoren | 104 | ||
3.3.2 Vergleichsoperatoren | 107 | ||
3.3.3 Logische Operatoren | 109 | ||
3.3.4 Verkettungsoperator | 110 | ||
3.3.5 Rangfolge der Operatoren | 111 | ||
3.4 Verzweigungen | 112 | ||
3.4.1 Einzeiliges If … Then … Else | 113 | ||
3.4.2 If-Then-Else-Block | 113 | ||
3.4.3 Select Case | 115 | ||
3.5 Schleifen | 117 | ||
3.5.1 For-Next-Schleife | 117 | ||
3.5.2 Do-Loop-Schleife | 121 | ||
4 Fehlerbehandlung | 126 | ||
4.1 Syntaxfehler | 126 | ||
4.2 Laufzeitfehler | 127 | ||
4.2.1 Programm mit Laufzeitfehlern | 127 | ||
4.2.2 Abfangen mit On Error | 129 | ||
4.3 Logische Fehler und Debugging | 131 | ||
4.3.1 Einzelschrittverfahren | 131 | ||
4.3.2 Haltepunkte | 133 | ||
5 Mehr über die Programmierung mit VBA | 134 | ||
5.1 Gültigkeitsbereiche | 134 | ||
5.2 Datenfelder | 136 | ||
5.2.1 Eindimensionale Datenfelder | 137 | ||
5.2.2 Mehrdimensionale Datenfelder | 139 | ||
5.2.3 Dynamische Datenfelder | 141 | ||
5.2.4 Datenfelder löschen oder freigeben | 143 | ||
5.3 Prozeduren und Funktionen | 145 | ||
5.3.1 Prozeduren | 145 | ||
5.3.2 Übergabe von Parametern | 148 | ||
5.3.3 Funktionen | 150 | ||
5.3.4 Optionale Parameter | 153 | ||
5.3.5 Benannte Parameter | 155 | ||
5.3.6 Beliebig viele Parameter | 157 | ||
5.3.7 Datenfelder als Parameter | 159 | ||
5.4 Benutzerdefinierter Datentyp | 160 | ||
5.5 Modular programmieren | 163 | ||
5.5.1 Code in der gleichen Datei | 163 | ||
5.5.2 Code in einer anderen Datei | 164 | ||
5.6 Module exportieren und importieren | 166 | ||
5.6.1 Export eines Moduls | 166 | ||
5.6.2 Import eines Moduls | 167 | ||
6 Mehr über Objekte | 168 | ||
6.1 Objektkatalog | 168 | ||
6.2 Referenzierung von Objekten | 169 | ||
6.2.1 Beispiel »Zellen verschieben« | 170 | ||
6.3 Objektzugriff mit With | 171 | ||
6.4 Arbeiten mit Objektvariablen | 172 | ||
6.4.1 Objektvariablen hierarchisch zuweisen | 174 | ||
6.4.2 Neue Objekte erzeugen | 175 | ||
6.4.3 Objekttyp ermitteln | 175 | ||
6.5 For-Each-Schleife | 177 | ||
6.6 Collections | 179 | ||
6.7 Hauptobjekt »Application« | 180 | ||
6.7.1 Anwendungspfad ausgeben | 180 | ||
6.7.2 Prozedur zeitverzögert aufrufen | 181 | ||
6.7.3 Anwendung Microsoft Excel schließen | 182 | ||
6.8 Filtern | 182 | ||
7 Diagramme und Grafiken | 186 | ||
7.1 Diagramm erstellen | 187 | ||
7.1.1 Diagrammblatt erstellen | 187 | ||
7.1.2 Eingebettetes Diagramm erstellen | 189 | ||
7.2 Diagramm ändern | 191 | ||
7.2.1 Diagrammblatt ändern | 191 | ||
7.2.2 Eingebettetes Diagramm ändern | 195 | ||
7.3 Diagramm verwalten | 196 | ||
7.3.1 Diagrammblatt verwalten | 196 | ||
7.3.2 Eingebettetes Diagramm verwalten | 198 | ||
7.4 Beispiel: Formatiertes Kreisdiagramm | 199 | ||
7.5 Shapes | 202 | ||
7.5.1 Rechteck | 202 | ||
7.5.2 Oval | 204 | ||
7.5.3 Linie | 205 | ||
7.5.4 Verbinder | 206 | ||
7.5.5 Freiform | 208 | ||
7.5.6 Alle Formen | 211 | ||
7.6 WordArt | 213 | ||
7.7 Bedingte Formatierungen | 215 | ||
7.7.1 Datenbalken | 215 | ||
7.7.2 Zweifarbige Farbskala | 216 | ||
7.7.3 Dreifarbige Farbskala | 218 | ||
7.7.4 Symbolsatz | 219 | ||
7.8 Sparklines | 221 | ||
7.8.1 Linie | 221 | ||
7.8.2 Spalte | 222 | ||
7.8.3 Gewinn/Verlust-Anzeige | 223 | ||
7.8.4 Formatierung | 223 | ||
7.8.5 Alle Farben | 224 | ||
7.9 SmartArt | 225 | ||
8 VBA- und Worksheet-Funktionen | 228 | ||
8.1 Eingaben des Benutzers | 229 | ||
8.1.1 Funktion »InputBox« | 230 | ||
8.1.2 Methode »Application.InputBox« | 230 | ||
8.2 Einfacher Dialog mit dem Benutzer | 234 | ||
8.2.1 Button »OK« | 234 | ||
8.2.2 Buttons – eine Übersicht | 235 | ||
8.2.3 Zeichen »Information« | 236 | ||
8.2.4 System-modal | 236 | ||
8.2.5 Buttons »Ja« und »Nein« | 237 | ||
8.2.6 Drei Buttons, Default-Button | 238 | ||
8.2.7 Buttons »Wiederholen« und »Abbrechen« | 239 | ||
8.2.8 Buttons »Abbrechen«, »Wiederholen« und »Ignorieren« | 239 | ||
8.3 Zeichenketten | 240 | ||
8.3.1 Zeichenketten umwandeln | 242 | ||
8.3.2 Ausgabeformatierung | 243 | ||
8.3.3 Datensätze zusammenfügen | 246 | ||
8.3.4 Datensätze zerlegen | 247 | ||
8.4 Datum und Uhrzeit | 248 | ||
8.4.1 Zeitintervall addieren | 248 | ||
8.4.2 Zeitdifferenz berechnen | 249 | ||
8.4.3 Datumsangaben erstellen, Wochentage markieren | 249 | ||
8.4.4 Jahreskalender | 250 | ||
8.5 Weitere Funktionen | 253 | ||
8.5.1 Anwendung unterbrechen | 253 | ||
8.5.2 Einheitenumrechnung | 254 | ||
8.5.3 Zahlensystemumrechnung | 256 | ||
8.5.4 Zellen zählen | 257 | ||
9 Externe Daten | 260 | ||
9.1 Textdateien, Import und Export | 260 | ||
9.1.1 Lesen aus Textdateien | 260 | ||
9.1.2 Import von Datensätzen | 262 | ||
9.1.3 Schreiben in Textdateien | 264 | ||
9.1.4 Export von Datensätzen | 266 | ||
9.2 Arbeiten mit Dateien | 267 | ||
9.2.1 Dateien suchen und auflisten | 267 | ||
9.2.2 Informationen über Dateien | 269 | ||
9.2.3 Operationen mit Dateien | 271 | ||
9.3 Austausch mit Microsoft Word | 273 | ||
9.3.1 Objektmodell von Word | 273 | ||
9.3.2 Import von Absätzen aus Word | 274 | ||
9.3.3 Import von Tabellen aus Word | 276 | ||
9.3.4 Export zu Word, Erstellen von Absätzen | 278 | ||
9.3.5 Export zu Word, Erstellen von Tabellen | 280 | ||
9.4 Austausch mit Microsoft Outlook | 282 | ||
9.4.1 Objektmodell von Outlook | 283 | ||
9.4.2 Einfaches Versenden einer Arbeitsmappe | 284 | ||
9.4.3 Integriertes E-Mail-Dialogfeld | 286 | ||
9.4.4 Zusammensetzen einer E-Mail | 287 | ||
9.4.5 Erstellen einer Serien-E-Mail | 289 | ||
9.4.6 Bestimmten Bereich in E-Mail versenden | 290 | ||
9.4.7 Zugriff auf Outlook-Verzeichnis | 292 | ||
9.4.8 Zugriff auf E-Mail-Anhänge | 294 | ||
9.4.9 Zugriff auf Kontakte | 296 | ||
9.4.10 Kontakt erzeugen | 297 | ||
9.4.11 Termin erzeugen | 298 | ||
9.4.12 Terminserie erzeugen | 299 | ||
9.5 Austausch mit Microsoft Access | 301 | ||
9.5.1 Beispiel-Datenbank: Aufbau | 302 | ||
9.5.2 Beispiel-Datenbank: Verbindung herstellen | 302 | ||
9.5.3 SQL-Befehle | 303 | ||
9.5.4 Beispiel-Datenbank: Auswahlabfrage | 304 | ||
9.5.5 Beispiel-Datenbank: Aktionsabfrage | 306 | ||
9.5.6 SQL: Auswahlabfragen mit SELECT | 308 | ||
9.5.7 SQL: Operatoren | 309 | ||
9.5.8 SQL: Abfrageergebnis sortieren | 311 | ||
9.5.9 SQL: Auswahlabfragen zur Suche nach Eingabe | 312 | ||
9.5.10 SQL: Aktionsabfrage zum Ändern mit UPDATE | 313 | ||
9.5.11 SQL: Aktionsabfrage zum Einfügen mit INSERT | 315 | ||
9.5.12 SQL: Aktionsabfrage zum Löschen mit DELETE | 316 | ||
10 Dialogfelder | 318 | ||
10.1 Integrierte Dialogfelder | 318 | ||
10.1.1 Datei öffnen | 319 | ||
10.1.2 Datei speichern unter | 320 | ||
10.1.3 Muster für Zellbereich auswählen | 320 | ||
10.1.4 Schriftformatierung für Zellbereich auswählen | 321 | ||
10.2 Eigene Dialogfelder und Anwendungen | 322 | ||
10.2.1 Ein erstes Beispiel | 322 | ||
10.2.2 Erstes Beispiel: Gestaltung | 322 | ||
10.2.3 Erstes Beispiel: Code | 324 | ||
10.2.4 Erstes Beispiel: Starten | 325 | ||
10.2.5 Arbeiten mit Steuerelementen | 326 | ||
10.2.6 Textfeld und Bezeichnungsfeld | 328 | ||
10.2.7 Optionsschaltflächen und Kontrollkästchen | 329 | ||
10.2.8 Liste, Bildlaufleiste und Drehfeld | 333 | ||
10.2.9 Ausgabeformatierung | 336 | ||
10.2.10 RefEdit und Umschaltfeld | 338 | ||
11 Beispielprojekt | 342 | ||
11.1 Was ist Nordwind? | 342 | ||
11.2 Vorbereitungen für das Projekt | 343 | ||
11.2.1 Tabelle »Kunden« | 344 | ||
11.2.2 Tabelle »Artikel« | 344 | ||
11.2.3 Restliche Vorbereitungen | 345 | ||
11.3 Benutzung des Programms | 345 | ||
11.3.1 Hauptdialogfeld »Nordwind« | 346 | ||
11.3.2 Unterdialogfeld »Kunden Neu« | 346 | ||
11.3.3 Unterdialogfeld »Kunden Ändern« | 347 | ||
11.3.4 Unterdialogfeld »Artikel Neu« | 349 | ||
11.3.5 Unterdialogfeld »Artikel Ändern« | 350 | ||
11.3.6 Unterdialogfeld »Bestellungen Neu« | 351 | ||
11.4 Entwicklung des Programms | 354 | ||
11.4.1 Das VBA-Projekt | 354 | ||
11.4.2 Die Arbeitsmappe | 354 | ||
11.4.3 Das gemeinsame Modul | 355 | ||
11.4.4 Hauptdialogfeld »Nordwind« | 355 | ||
11.4.5 Unterdialogfeld »Kunden Neu« | 357 | ||
11.4.6 Unterdialogfeld »Kunden Ändern« | 361 | ||
11.4.7 Unterdialogfeld »Artikel Neu« | 367 | ||
11.4.8 Unterdialogfeld »Artikel Ändern« | 372 | ||
11.4.9 Unterdialogfeld »Bestellungen Neu« | 378 | ||
Lösungen | 388 | ||
Index | 396 |