Impressum | 3 |
Vorwort | 4 |
Inhaltsverzeichnis | 6 |
1Vorbereitungen | 14 |
1.1Zum grundlegenden Verständnis von Makros und VBA | 15 |
Wozu Makros und VBA? | 15 |
Wichtige Begriffe | 15 |
1.2Das Register Entwicklertools anzeigen | 16 |
1.3Arbeitsmappen mit Makros speichern | 18 |
Der Dateityp Excel-Arbeitsmappe mit Makros (.xlsm) | 18 |
Die persönliche Makroarbeitsmappe | 19 |
1.4Sicherheitseinstellungen | 19 |
Sicherheitseinstellungen kontrollieren | 19 |
Arbeitsmappe mit Makros öffnen | 20 |
Makros digital signieren | 21 |
2Makros aufzeichnen und ausführen | 22 |
2.1Hinweise zum Umgang mit aufgezeichneten Makros | 23 |
2.2Ein einfaches Makro aufzeichnen | 23 |
Die Aufzeichnung starten | 23 |
Makro ausführen | 25 |
Mögliche Probleme bei der Makro-Ausführung | 26 |
2.3Zellbezüge in Makros | 27 |
2.4Makroausführung starten | 29 |
Tastenkombination zuweisen | 29 |
Makro über die Symbolleiste für den Schnellzugriff starten | 30 |
Makros im Menüband einfügen | 31 |
Makro über eine Befehlsschaltfläche im Tabellenblatt starten | 33 |
2.5Beispiel: Diagramm mit Makros steuern | 35 |
3Grundlagen der VBA-Programmierung | 38 |
3.1Der VBA-Editor | 39 |
VBA-Editor öffnen | 39 |
So finden Sie sich im VBA-Editor zurecht | 40 |
Prozedurcode anzeigen | 41 |
Objekteigenschaften im Eigenschaftenfenster | 42 |
3.2Module und Prozeduren | 43 |
Ein neues Modul einfügen | 43 |
Eine neue Prozedur erzeugen | 44 |
Prozedur ausführen | 46 |
3.3Anweisungen eingeben | 47 |
Einstellungen im VBA-Editor | 47 |
Hinweise zur Texteingabe | 50 |
Eingabe von Parametern bzw. Argumenten | 51 |
Objekte, Methoden und Eigenschaften | 53 |
Kommentare | 53 |
Die VBA-Hilfe | 54 |
3.4Variablen, Konstanten und Operatoren | 55 |
Variablen verwenden | 55 |
Konstanten festlegen | 57 |
Hinweise für die Vergabe von Namen | 58 |
Operatoren und Ausdrücke | 58 |
3.5Einfache Dialoge | 59 |
Eine Meldung ausgeben | 60 |
Benutzereingaben mit InputBox | 61 |
3.6Abfragen und Schleifen | 62 |
Abfragen oder Verzweigungen | 62 |
Wiederholungsschleifen | 65 |
Bedingungsschleifen | 67 |
Die With-Anweisung | 69 |
3.7Fehlersuche und Fehlerbehandlung | 70 |
Einzelschritte ausführen | 70 |
Variablen überwachen | 71 |
Ausführung an Haltepunkten unterbrechen | 73 |
Anweisungszeilen auskommentieren | 74 |
Fehlerbehandlung | 74 |
3.8Routinen und Funktionen einsetzen | 77 |
Wozu Routinen benötigt werden | 77 |
Funktion erstellen und aufrufen | 77 |
Prozeduren als Routine | 79 |
3.9Mit Datenfeldern arbeiten | 80 |
Eindimensionale Datenfelder | 80 |
Die Verwendung von LBound und UBound | 81 |
Dynamische Datenfelder | 82 |
Zweidimensionale Datenfelder | 83 |
4Arbeiten mit Excel-Objekten | 86 |
4.1Die Excel-Objekte | 87 |
Die Objekthierarchie | 87 |
Eigenschaften, Methoden und Ereignisse von Objekten | 88 |
Der Objektkatalog | 89 |
Objektvariablen | 91 |
4.2Arbeitsmappen und Arbeitsblätter | 92 |
Arbeitsblätter | 92 |
Zugriff auf Arbeitsmappen | 93 |
Ereignisprozeduren für Arbeitsmappen und Arbeitsblätter erstellen | 94 |
Andere Ereignisse | 96 |
4.3Das Range Objekt (Zellen und Zellbereiche) | 97 |
Zell- und Bereichsadresse als Text | 97 |
Adressierung über Cells | 98 |
Arbeiten mit der aktiven Zelle bzw. dem markierten Zellbereich | 99 |
Markierung mit der Offset Methode verschieben | 100 |
Position der aktuellen Zelle ermitteln | 101 |
Umfang eines Zellbereichs ermitteln | 102 |
Beispiel: Jede zweite Zeile mit einer Füllfarbe formatieren | 104 |
Zellbereiche ausschneiden, kopieren und einfügen | 106 |
4.4Berechnungen mit Formeln und Funktionen | 107 |
Bezüge in der A1-Schreibweise | 107 |
Bezüge als Zeilen- und Spaltenindex (R1C1) | 108 |
Formeln in einen Zellbereich schreiben | 109 |
Tabellenfunktionen verwenden | 110 |
4.5Letzte benutzte Zeile einer Tabelle bestimmen | 112 |
Verwendeten Zellbereich ermitteln | 113 |
Die Rückwärtssuche ab der letzten Tabellenzeile und Spalte | 114 |
4.6Diagramme steuern | 115 |
Datenreihen anzeigen, Fortsetzung aus Kapitel 2.5 | 115 |
Diagrammobjekte | 116 |
Diagrammelemente hinzufügen | 118 |
4.7Benutzerdefinierte Funktionen im Arbeitsblatt einsetzen | 119 |
Funktion erstellen | 119 |
Funktionsbeschreibung hinzufügen | 120 |
Funktion in der persönlichen Makroarbeitsmappe speichern | 122 |
Arbeitsmappe als Add-In speichern | 124 |
Kleine Beispiele für benutzerdefinierte Funktionen | 127 |
5Steuerelemente in Tabellenblättern | 130 |
5.1Wozu Steuerelemente? | 131 |
5.2Grundlagen Formularsteuerelemente | 131 |
Wo finden Sie die Formularsteuerelemente? | 131 |
Formularsteuerelement einfügen | 132 |
Formularsteuerelement bearbeiten | 133 |
5.3Beispiele für Formularsteuerelemente | 134 |
Makro einer Befehlsschaltfläche zuweisen | 134 |
Kombinationsfeld und Listenfeld zur Auswahl nutzen | 134 |
Kontrollkästchen | 136 |
Drehfeld und Bildlaufleiste | 137 |
Weitere Steuerelementeigenschaften | 137 |
5.4ActiveX-Steuerelemente | 139 |
Einige Eigenschaften des ActiveX-Kombinationsfeldes | 139 |
Ein ActiveX-Kombinationsfeld per VBA füllen | 141 |
6Grundlagen zu UserForms | 144 |
6.1Vorbereitungen im VBA-Editor | 146 |
6.2Ein Formular anlegen | 147 |
UserForm einfügen | 147 |
UserForm-Eigenschaften | 149 |
Präfixe für Objektnamen | 151 |
6.3Die Elemente der Werkzeugsammlung | 152 |
Beschriftungsfeld (Label) | 153 |
Textfeld (TextBox) | 154 |
Kontrollkästchen (CheckBox) | 155 |
Optionsfeld (OptionButton) | 155 |
Rahmen (Frame) | 156 |
Kombinationsfeld (ComboBox) | 156 |
Listenfeld (ListBox) | 157 |
Befehlsschaltfläche (CommandButton) | 158 |
Umschaltfläche (ToggleButton) | 158 |
Bildlaufleiste (ScrollBar) | 158 |
Drehfeld (SpinButton) | 159 |
Anzeige (Image) | 159 |
Register (TabStrip) | 160 |
Multiseite (Page) | 160 |
6.4Formularprozeduren | 161 |
Formularcode anzeigen | 161 |
Formularereignisse | 162 |
Adressierung des Formulars | 162 |
6.5Eigenschaften von Steuerelementen | 163 |
Beschriftungsfeld (Label) verwenden | 163 |
Textfeld (TextBox) verwenden | 164 |
Optionsfeld (OptionButton) verwenden | 164 |
Rahmen (Frame) verwenden | 165 |
Kontrollkästchen (CheckBox) verwenden | 165 |
Kombinationsfeld (ComboBox) verwenden | 166 |
Synchronisation zwischen Kombinationsfeld und Listenfeld | 170 |
Listenfeld (ListBox) verwenden | 171 |
Befehlsschaltfläche (CommandButton) verwenden | 176 |
Umschaltfläche (ToggleButton) verwenden | 177 |
Bildlaufleiste (ScrollBar) verwenden | 178 |
Drehfeld (SpinButton) verwenden | 178 |
Anzeige (Image) verwenden | 179 |
Multiseiten (Page) verwenden | 180 |
6.6Allgemeine Tipps zu UserForms | 183 |
Aufruf eines Formulars | 183 |
Verlassen des Formulars | 184 |
Aktivierreihenfolge der Steuerelemente | 185 |
Die Accelerator-Eigenschaft | 186 |
Gruppieren von Steuerelementen | 187 |
Linienelemente und Einrahmungen | 189 |
7Formulare als Dialogelemente einsetzen | 192 |
7.1Die individuelle MessageBox | 193 |
7.2Schaltflächen - die individuelle Schaltzentrale | 194 |
7.3Nutzername und Passwort abfragen | 196 |
Formular zur Benutzeranmeldung erstellen | 196 |
Passworteingabe und -überprüfung | 197 |
7.4Eingabewerte aus Textfeldern verwenden | 198 |
Summe berechnen und anzeigen | 198 |
Ein Formular für Berechnungen auf Tabellenebene | 199 |
Ergebnis in das Arbeitsblatt einfügen | 202 |
7.5Speichern von Zahlen aus Text- und Kombinationsfeldern | 204 |
Zahlen aus Textfeldern speichern | 204 |
Werte aus Kombinationsfeldern speichern | 205 |
Übersicht Konvertierungsfunktionen | 207 |
7.6Optionsfelder können entscheiden | 208 |
Einfache Optionsfelder | 208 |
Optionsfelder mit verdeckter Vorgabe | 210 |
7.7Datenanzeige in der Eingabemaske | 210 |
8Workshop: Die individuelle Benutzeroberfläche | 214 |
8.1Ein Formular als Eingabemaske für Tabellen erstellen | 215 |
Übersicht und Layout | 215 |
Textfelder einfügen, Elemente ausrichten | 217 |
Beschriftungsfelder hinzufügen | 219 |
Optionsfelder in Gruppen einfügen | 219 |
Kontrollkästchen einfügen | 220 |
Kombinationsfelder einfügen | 221 |
Listenfeld einfügen | 222 |
Bildlaufleiste einfügen | 222 |
Befehlsschaltflächen einfügen | 223 |
Foto oder Logo einbinden | 223 |
Ergänzungen am Layout | 224 |
8.2Die Eingabemaske für Tabellendaten aktivieren | 225 |
Vorbereitungen zum Start der Eingabemaske | 225 |
Eingabemaske starten | 228 |
Allgemeine Tipps und Hinweise zur Eingabe von Prozeduren | 230 |
Voreinstellungen für Eingabefelder vorgeben | 231 |
Die Reihenfolge bei der Eingabe (Tab-Taste) festlegen | 235 |
Alle Einträge in der Eingabemaske zurücksetzen (Reset) | 237 |
Das Alter automatisch berechnen | 238 |
Pflichtfelder vor Datenübernahme prüfen | 239 |
8.3Exkurs: Plausibilitätsprüfung (Validierung) | 240 |
Prüffunktionen | 241 |
Individuelle Prüfprozeduren | 243 |
Ereignisgesteuerte Überprüfung | 245 |
Zeichenfolgen (Muster) überprüfen | 248 |
Eingaben einschränken | 251 |
8.4Daten aus der Eingabemaske in die Tabelle übertragen | 253 |
Den ersten Datensatz aus der Eingabemaske übernehmen | 253 |
Die Tabelle wächst | 256 |
8.5Daten aus der Tabelle in der Eingabemaske anzeigen | 261 |
Namen im Listenfeld der Eingabemaske anzeigen | 262 |
Ausgewählte Tabellenzeilen in der Eingabemaske anzeigen | 263 |
Daten in der Tabelle korrigieren bzw. überschreiben | 268 |
Eingabemaske testen | 270 |
9Beispielformulare für besondere Aufgaben | 272 |
9.1Formelassistent | 273 |
9.2Kopierassistent | 276 |
9.3Formular als VBA-Wissenstest | 279 |
9.4Grammatik-Trainer | 281 |
9.5Formular mit Multiple-Choice-Fragen | 283 |
9.6Farbmischpult | 287 |
9.7Dateiauswahl über ein Formular | 289 |
VBA-Tastenkombinationen | 292 |
Stichwortverzeichnis | 294 |