Description
(Text)
Um noch mehr aus Excel herauszuholen, sind Kenntnisse der VBA-Programmierung von großem Vorteil: Dann können Sie Excel auf Ihre Bedürfnisse zuschneiden und langweilige Routinearbeiten automatisieren. Der ausgewiesene Excel-Experte John Walkenbach zeigt Ihnen zunächst den Umgang mit dem VBA-Editor und gibt einen Einblick in die wichtigsten Programmiertechniken. Lernen Sie dann die vielfältigen Programmiermöglichkeiten kennen. Alle Beispielprogramme und Arbeitsblätter stehen zum Download zur Verfügung. Sie werden staunen: Mit VBA können Sie sich selbst Dialogboxen, Werkzeugleisten und Menüs schneidern. Und das schon nach kurzer Zeit!
(Author portrait)
John Walkenbach ist Fachmann für Tabellenkalkulationsprogramme und Autor zahlreicher Bücher zum Thema.
Contents
Uber den Autor 9 Einfuhrung 25 Haben Sie das richtige Buch gewahlt? 25 Der obligatorische Abschnitt uber typografische Konventionen 26 Uberprufen Sie Ihre Sicherheitseinstellungen 27 Was Sie mitbringen sollten 28 Symbole in diesem Buch 28 Beispieldateien herunterladen 29 Und jetzt? 29 Teil I Excel-VBA die ersten Schritte 31 Kapitel 1 Was ist VBA? 33 Was also ist VBA? 33 Was ist mit VBA moglich? 34 Text einfugen 35 Eine haufig ausgefuhrte Aufgabe automatisieren 35 Automatisierung wiederholter Operationen 35 Einen benutzerdefinierten Befehl anlegen 35 Eine benutzerdefinierte Schaltflache erstellen 35 Neue Funktionen fur die Arbeitsmappe entwickeln 35 Benutzerdefinierte Add-Ins fur Excel erstellen 36 Vollstandige makrogesteuerte Anwendungen erstellen 36 Vorteile und Nachteile von VBA 36 Vorteile von VBA 36 Nachteile von VBA 37 VBA in Kurze 37 Uberblick uber verschiedene Versionen 39 Kapitel 2 Ein Sprung ins kalte Wasser 43 Das Erste zuerst 43 Was auf Sie zukommt 44 Die ersten Schritte 44 Das Makro aufzeichnen 45 Das Makro testen 46 Das Makro uberprufen 47 Das Makro abandern 49 Arbeitsmappen mit Makros speichern 49 Makrosicherheit 50 Weitere Informationen uber das Makro NameUndZeit 52 Teil II Die Zusammenarbeit von VBA und Excel 55 Kapitel 3 Der Visual Basic Editor 57 Was ist der Visual Basic Editor? 57 Den VBE aktivieren 57 VBE-Komponenten 58 Arbeiten im Projektfenster 60 Ein neues VBA-Modul hinzufugen 61 Ein VBA-Modul entfernen 61 Objekte exportieren und importieren 62 Arbeiten in einem Codefenster 63 Fenster minimieren und maximieren 63 Ein Modul erstellen 64 VBA-Code in ein Modul einfugen 65 Code direkt eingeben 65 Verwendung des Makro-Recorders 68 VBA-Code kopieren 70 Anpassung der VBA-Umgebung 70 Die Registerkarte Editor 71 Die Registerkarte Editorformat 74 Die Registerkarte Allgemein 75 Die Registerkarte Verankern 75 Kapitel 4 Das Objektmodell in VBA 77 Ist Excel ein Objekt? 77 Navigation innerhalb der Objekthierarchie 78 Alles dreht sich um Collections 79 Verweise auf Objekte Referenzen 79 Navigation innerhalb der Hierarchie 80 Objektreferenzen vereinfachen 81 Objekteigenschaften und Methoden 82 Objekteigenschaften 83 Objektmethoden 85 Objektereignisse 86 Weitere Informationen 87 Das Hilfesystem von VBA 87 Der Objektkatalog 88 Automatische Auflistung von Eigenschaften und Methoden 89 Kapitel 5 Sub- und Funktionsprozeduren in VBA 91 Sub-Prozeduren im Vergleich zu Funktionsprozeduren 91 Sub-Prozeduren 92 Funktionsprozeduren 92 Namen fur Sub-Prozeduren und Funktionsprozeduren 93 Sub-Prozeduren ausfuhren 93 Die Sub-Prozedur direkt ausfuhren 95 Die Prozedur vom Dialogfeld Makro aus ausfuhren 96 Ein Makro mithilfe einer Tastenkombination ausfuhren 97 Die Prozedur uber eine Schaltflache oder eine Form ausfuhren 98 Die Prozedur von einer anderen Prozedur aus ausfuhren 100 Funktionsprozeduren ausfuhren 100 Die Funktion aus einer Sub-Prozedur aufrufen 101 Aufruf einer Funktion von einer Formel in einer Tabelle aus 102 Kapitel 6 Mit dem Excel-Makro-Recorder arbeiten 105 Ist es live oder ist es VBA? 105 Grundlagen der Aufzeichnung 106 Vorbereitung auf die Aufzeichnung 108 Relativ oder absolut? 108 Aufzeichnung im absoluten Modus 108 Aufzeichnung im relativen Modus 109 Was wird eigentlich aufgezeichnet? 111 Aufzeichnungsoptionen 112 Makroname 112 Tastenkombination 113 Makro speichern in 113 Beschreibung 114 Und wie effizient ist das Ganze? 114 Teil III Programmierkonzepte 117 Kapitel 7 Wichtige Elemente der Sprache VBA 119 Kommentare in Ihrem VBA-Code 119 Variablen, Konstanten und Datentypen 121 Variablen verstehen 121 Was sind Datentypen in VBA? 122 Variablen deklarieren und ihnen einen Gultigkeitsbereich zuweisen 125 Mit Konstanten arbeiten 131 Vorgefertigte Konstanten 132 Mit Zeichenfolgen arbeiten 133 Mit Datumswerten arbeiten 134 Zuweisungsbefehle verwenden 135 Beispiele fur den Zuweisungsbefehl 135 Das Gleichheitszeichen 135 Hilfreiche Operatoren 136 Arrays 137 Arrays deklarieren 138 Mehrdimensionale Arrays 138 Dynamische Arrays 139 Die Verwendung von Zeilenmarken (Labels) 140 Kapitel 8 Mit Range-Objekten arbeiten 141 Ein schneller Uberblick 141 Andere Methoden, auf einen Bereich zu verweisen 143 Die Cells-Eigenschaft 143 Die Offset-Eigenschaft 144 Einige praktische Eigenschaften des Range-Objekts 145 Die Value-Eigenschaft 145 Die Text-Eigenschaft 146 Die Count-Eigenschaft 147 Die Column- und Row-Eigenschaften 147 Die Address-Eigenschaft 147 Die HasFormula-Eigenschaft 147 Die Font-Eigenschaft 149 Die Interior-Eigenschaft 149 Die Formula-Eigenschaft 151 Die NumberFormat-Eigenschaft 151 Einige praktische Methoden des Range-Objekts 152 Die Select-Methode 152 Die Methoden Copy und Paste 153 Die Clear-Methode 153 Die Delete-Methode 154 Kapitel 9 VBA- und Arbeitsblattfunktionen 155 Was ist eine Funktion? 155 Eingebaute VBA-Funktionen verwenden 156 Beispiele fur VBA-Funktionen 156 VBA-Funktionen, die mehr tun, als einen Wert zuruckzugeben 158 VBA-Funktionen finden 159 Arbeitsblattfunktionen in VBA verwenden 162 Beispiele fur Arbeitsblattfunktionen 162 Eingabe von Arbeitsblattfunktionen 165 Weitere Informationen uber die Verwendung von Arbeitsblattfunktionen 165 Benutzerdefinierte Funktionen verwenden 166 Kapitel 10 Steuerung des Programmablaufs und Entscheidungen 169 Schwimmen mit dem Strom 169 Die GoTo-Anweisung 170 Entscheidungen, Entscheidungen! 171 Die If-Then-Struktur 171 Die Select-Case-Struktur 176 Ihr Code fur eine Schleife 179 For-Next-Schleifen 179 Do-While-Schleifen 185 Do-Until-Schleifen 186 For-Each-Next-Schleifen fur Collections ausfuhren 186 Kapitel 11 Automatische Prozeduren und Ereignisse 189 Vorbereitung auf das grosse Ereignis 189 Sind Ereignisse praktisch? 190 Programmierung von Prozeduren zur Ereignisverarbeitung 191 Wo steht der VBA-Code? 192 Eine Prozedur zur Ereignisverarbeitung schreiben 193 Einfuhrende Beispiele 194 Das Open-Ereignis fur eine Arbeitsmappe 194 Das BeforeClose-Ereignis fur eine Arbeitsmappe 197 Das BeforeSave-Ereignis fur eine Arbeitsmappe 198 Beispiele fur Aktivierungsereignisse 199 Aktivierungs- und Deaktivierungsereignisse in einem Arbeitsblatt 199 Aktivierungs- und Deaktivierungsereignisse in einer Arbeitsmappe 200 Arbeitsmappen-Aktivierungsereignisse 201 Andere Arbeitsblatt-Ereignisse 202 Das BeforeDoubleClick-Ereignis 202 Das BeforeRightClick-Ereignis 203 Das Change-Ereignis 203 Ereignisse, die keinen Objekten zugeordnet sind 206 Das OnTime-Ereignis 206 Tastenaktionen 208 Kapitel 12 Techniken zur Fehlerverarbeitung 211 Fehlertypen 211 Ein fehlerbehaftetes Beispiel 212 Das Makro ist nicht ganz perfekt 213 Das Makro ist immer noch nicht perfekt 214 Ist das Makro immer noch nicht perfekt? 215 Verabschieden Sie sich von der Perfektion! 216 Fehler anders verarbeiten 216 Noch einmal die Prozedur EnterSquareRoot 216 Die On-Error-Anweisung 218 Fehlerverarbeitung: Die Details 218 Fortsetzung nach einem Fehler 218 Fehlerverarbeitung im Uberblick 220 Erkennen, wann Fehler ignoriert werden konnen 221 Spezifische Fehler identifizieren 221 Ein beabsichtigter Fehler 223 Kapitel 13 Techniken, mit denen Sie Fehler loswerden 225 Verschiedene Fehlerarten 225 Programmierfehler identifizieren 226 Debugging-Techniken 227 Ihren Code uberprufen 227 Die MsgBox-Funktion verwenden 228 Debug.Print-Anweisungen einfugen 230 Verwendung des VBA-Debuggers 231 Der Debugger 231 Haltepunkte in Ihrem Code setzen 231 Das Uberwachungsfenster verwenden 234 Das Lokal-Fenster 236 Tipps, wie Sie weniger Programmierfehler machen 237 Kapitel 14 VBA-Programmierbeispiele 239 Mit Bereichen arbeiten 239 Einen Bereich kopieren 240 Einen variablen Bereich kopieren 241 Auswahl bis zum Ende einer Zeile oder Spalte 242 Eine Zeile oder Spalte auswahlen 243 Einen Bereich verschieben 243 Einen Bereich effizient durchlaufen 244 Einen Bereich effizient durchlaufen (Teil II) 245 Einen Zellwert anfordern 246 Den Auswahltyp bestimmen 247 Eine Mehrfachauswahl erkennen 247 Excel-Einstellungen abandern 248 Boolesche Einstellungen andern 249 Nicht-Boolesche Einstellungen andern 249 Diagramme 250 AddChart im Vergleich zu AddChart2 251 Den Diagrammtyp andern 253 Die ChartObjects-Collection durchlaufen 253 Diagrammeigenschaften andern 254 Diagrammformatierungen anwenden 254 VBA-Geschwindigkeitstipps 256 Die Bildschirmaktualisierung abschalten 256 Die automatische Berechnung ausschalten 257 Lastige Warnungen deaktivieren 257 Objektreferenzen vereinfachen 258 Variablentypen deklarieren 258 Die With-End-With-Struktur 259 Teil IV Kommunikation mit Ihren Benutzern 261 Kapitel 15 Einfache Dialogfelder 263 Alternativen zu UserForms 263 Die MsgBox-Funktion 264 Ein einfaches Meldungsfeld anzeigen 264 Eine Antwort aus einem Meldungsfeld ermitteln 265 Meldungsfelder anpassen 266 Die InputBox-Funktion 269 Die Syntax von InputBox 270 Ein Beispiel fur eine InputBox 270 Ein weiterer Typ InputBox 272 Die Methode GetOpenFilename 273 Die Syntax fur die GetOpenFilename-Methode 273 Ein Beispiel fur GetOpenFilename 274 Die GetSaveAsFilename-Methode 275 Einen Ordnernamen ermitteln 276 Eingebaute Excel-Dialogfelder anzeigen 277 Kapitel 16 UserForm-Grundlagen 279 Erkennen, wann man ein UserForm braucht 279 UserForms erstellen: Ein Uberblick 280 Mit UserForms arbeiten 281 Ein neues UserForm einfugen 281 Einem UserForm Steuerelemente hinzufugen 282 Die Eigenschaften eines UserForm-Steuerelements andern 283 Das Codefenster fur ein UserForm anzeigen 285 Ein UserForm anzeigen 285 Informationen aus einem UserForm verarbeiten 286 Ein UserForm-Beispiel 286 Das UserForm anlegen 287 Die Befehlsschaltflachen hinzufugen 287 Optionsfelder einfugen 289 Prozeduren zur Ereignisverarbeitung einfugen 291 Ein Makro anlegen, das das Dialogfeld anzeigt 293 Das Makro fur den Benutzer bereitstellen 293 Das Makro testen 294 Kapitel 17 UserForm-Steuerelemente verwenden 297 Steuerelemente im Dialogfeld: Die ersten Schritte 297 Steuerelemente hinzufugen 297 Eigenschaften von Steuerelementen Grundlagen 299 Steuerelemente in einem Dialogfeld: Die Details 300 Das CheckBox-Steuerelement Kontrollkastchen 301 Das ComboBox-Steuerelement Kombinationsfeld 302 Das CommandButton-Steuerelement Befehlsschaltflache 303 Das Frame-Steuerelement Rahmen 304 Das Image-Steuerelement Bildfeld 304 Das Label-Steuerelement Bezeichnungsfeld 305 Das ListBox-Steuerelement Listenfeld 305 Das MultiPage-Steuerelement Multiseiten 307 Das OptionButton-Steuerelement Optionsfelder 308 Das RefEdit-Steuerelement 309 Das ScrollBar-Steuerelement Bildlaufleiste 309 Das SpinButton-Steuerelement Drehfeld 310 Das TabStrip-Steuerelement Register 311 Das TextBox-Steuerelement Textfeld 311 Das ToggleButton-Steuerelement Umschaltfeld 313 Die Arbeit mit Steuerelementen in Dialogfeldern 313 Steuerelemente verschieben und ihre Grosse andern 313 Steuerelemente ausrichten und Abstande einhalten 314 Tastaturbenutzern helfen 315 Ein UserForm testen 317 Dialogfeld-Asthetik 317 Kapitel 18 UserForms Techniken und Tricks 319 Dialogfelder verwenden 319 Ein UserForm-Beispiel 319 Das Dialogfeld anlegen 320 Code fur die Anzeige des Dialogfelds 323 Das Makro bereitstellen 323 Ihr Dialogfeld ausprobieren 324 Prozeduren zur Ereignisverarbeitung einfugen 324 Die Daten auswerten 326 Jetzt funktioniert das Dialogfeld 327 Weitere UserForm-Beispiele 327 Ein Listenfeld-Beispiel 327 Einen Bereich auswahlen 333 Mehrere Optionsfeldgruppen verwenden 334 Ein Drehfeld und ein Textfeld verwenden 336 Ein UserForm als Fortschrittsanzeige verwenden 337 Ein nicht modales Dialogfeld mit Registerkarten erstellen 342 Ein Diagramm in einem UserForm anzeigen 344 Dialogfeld-Checkliste 346 Kapitel 19 Zugriff auf Ihre Makros uber die Benutzeroberflache 347 Das Menuband anpassen 347 Das Menuband manuell anpassen 347 Dem Menuband ein Makro hinzufugen 350 Anpassung des Menubands mit XML 350 Kontextmenus anpassen 355 Dem Kontextmenu Zelle einen neuen Eintrag hinzufugen 355 Was ist anders in Excel 2013 und Excel 2016? 358 Teil V Das grosse Ganze 359 Kapitel 20 Funktionen fur Arbeitsblatter erstellen 361 Wozu benutzerdefinierte Funktionen? 361 Grundlagen der VBA-Funktionen 362 Funktionen schreiben 363 Mit Funktionsargumenten arbeiten 364 Eine Funktion ohne Argumente 364 Eine Funktion mit einem Argument 365 Eine Funktion mit zwei Argumenten 366 Eine Funktion mit einem Bereichsargument 368 Eine Funktion mit einem optionalen Argument 370 Wrapper-Funktionen 372 Die NumberFormat-Funktion 372 Die ExtractElement-Funktion 372 Die SayIt-Funktion 373 Die IsLike-Funktion 374 Funktionen, die ein Array zuruckgeben 374 Ein Array mit Monatsnamen zuruckgeben 374 Eine sortierte Liste zuruckgeben 375 Das Dialogfeld Funktion einfugen verwenden 377 Die Funktionsbeschreibung anzeigen 377 Argumentbeschreibungen 379 Kapitel 21 Add-Ins in Excel erstellen 381 Und was ist ein Add-In? 381 Wozu legt man Add-Ins an? 382 Die Arbeit mit Add-Ins 383 Add-In-Grundlagen 384 Ein Add-In-Beispiel 385 Einrichtung der Arbeitsmappe 385 Die Arbeitsmappe testen 388 Beschreibende Informationen hinzufugen 388 Den VBA-Code schutzen 389 Das Add-In anlegen 390 Das Add-In offnen 390 Das Add-In weitergeben 390 Das Add-In andern 391 Teil VI Der Top-Ten-Teil 393 Kapitel 22 Zehn Fragen (und Antworten) zu VBA 395 Kapitel 23 (Fast) zehn Excel-Ressourcen 399 Das VBA-Hilfesystem 399 Microsoft Produkt-Support 399 Internet-Websites 400 Excel-Blogs 400 Google 400 Bing 401 Lokale User Groups 401 Meine anderen Bucher 401 Kapitel 24 Zehn Dinge, die Sie beherzigen oder vermeiden sollten 403 Deklarieren Sie alle Variablen 403 Verwechseln Sie Passworter nicht mit Sicherheit 403 Bereinigen Sie Ihren Code 404 Schreiben Sie nicht alles in eine Prozedur 404 Denken Sie daran, dass es noch andere Software gibt 405 Gehen Sie nicht davon aus, dass alle Benutzer Makros aktivieren 405 Gewohnen Sie sich an, zu experimentieren 405 Gehen Sie nicht davon aus, dass Ihr Code in anderen Excel-Versionen funktioniert 405 Denken Sie immer an Ihre Benutzer 406 Vergessen Sie die Sicherung nicht! 406 Stichwortverzeichnis 407