O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Microsoft Office Excel® 2007 VBA-Programmierung für Dummies®

Book Description

Um noch mehr aus Excel herauszuholen, empfiehlt sich die VBA-Programmierung, mit der Sie Excel auf Ihre Bedürfnisse zuschneiden können. John Walkenbach zeigt Ihnen in "Excel 2007 VBA-Programmierung für Dummies", wie Sie Excel-Berechnungen mit VBA automatisieren. Er erklärt Ihnen zunächst die notwendigen VBA-Grundlagen und wichtigsten Werkzeuge sowie VBA-Abläufe des VBA-Editors. Außerdem erhalten Sie eine Übersicht über die wichtigsten Bestandteile und Begriffe, die für die VBA-Programmierung in Excel relevant sind, und Sie erfahren, wie Sie Programmierfehler ausfindig machen und beheben.

Table of Contents

  1. Copyright
  2. Über den Autor
  3. Über den Übersetzer
  4. Einführung
    1. Ist dies das richtige Buch?
    2. Sie möchten also Programmierer werden ...
    3. Warum die ganze Mühe?
    4. Törichte Annahmen über den Leser
    5. Konventionen in diesem Buch
    6. Überprüfen Sie Ihre Sicherheitseinstellungen
    7. Wie dieses Buch aufgebaut ist
      1. Teil I: Einführung in VBA
      2. Teil II: VBA und Excel
      3. Teil III: Programmierkonzepte
      4. Teil IV: Mit den Anwendern kommunizieren
      5. Teil V: Alles zusammenfügen
      6. Teil VI: Der Top-Ten-Teil
    8. Symbole, die in diesem Buch verwendet werden
    9. Die Beispiele aus dem Internet herunterladen
    10. Wie es weitergeht
  5. I. Einführung in VBA
    1. 1. Was ist VBA?
      1. 1.1. Was also ist VBA?
      2. 1.2. Was kann man mit VBA machen?
        1. 1.2.1. Einen Haufen Text einfügen
        2. 1.2.2. Eine Arbeit automatisieren, die häufiger ausgeführt werden muss
        3. 1.2.3. Sich wiederholende Operationen automatisieren
        4. 1.2.4. Einen benutzerdefinierten Befehl erstellen
        5. 1.2.5. Eine benutzerdefinierte Schaltfläche erstellen
        6. 1.2.6. Neue Arbeitsblattfunktionen entwickeln
        7. 1.2.7. Vollständige, makrobasierte Anwendungen schreiben
        8. 1.2.8. Benutzerdefinierte Add-Ins für Excel erstellen
      3. 1.3. Vor- und Nachteile von VBA
        1. 1.3.1. Vorteile von VBA
        2. 1.3.2. Nachteile von VBA
      4. 1.4. VBA in wenigen Worten
      5. 1.5. Ein Ausflug in die Vergangenheit
    2. 2. Jetzt geht's los
      1. 2.1. Fangen wir am Anfang an
      2. 2.2. Was Sie machen werden
      3. 2.3. Die ersten Schritte
      4. 2.4. Das Makro aufzeichnen
      5. 2.5. Das Makro ausprobieren
      6. 2.6. Das Makro untersuchen
      7. 2.7. Das Makro bearbeiten
      8. 2.8. Arbeitsmappen speichern, die Makros enthalten
      9. 2.9. Makrosicherheit
      10. 2.10. Mehr zum Makro NameUndZeit
  6. II. VBA und Excel
    1. 3. Mit dem Visual Basic-Editor arbeiten
      1. 3.1. Was ist der Visual Basic-Editor?
        1. 3.1.1. Den Visual Basic-Editor aktivieren
        2. 3.1.2. Die Komponenten des Visual Basic-Editors
      2. 3.2. Mit dem Projekt-Explorer arbeiten
        1. 3.2.1. Ein neues VBA-Modul hinzufügen
        2. 3.2.2. Ein VBA-Modul entfernen
        3. 3.2.3. Objekte exportieren und importieren
      3. 3.3. Mit dem Code-Fenster arbeiten
        1. 3.3.1. Fenster minimieren und maximieren
        2. 3.3.2. Ein Modul erstellen
        3. 3.3.3. VBA-Code in ein Modul einfügen
        4. 3.3.4. Code direkt eingeben
        5. 3.3.5. Den Makrorekorder verwenden
        6. 3.3.6. VBA-Code kopieren
      4. 3.4. Die VBA-Umgebung anpassen
        1. 3.4.1. Die Registerkarte Editor
        2. 3.4.2. Die Registerkarte Editorformat
        3. 3.4.3. Die Registerkarte Allgemein
        4. 3.4.4. Die Registerkarte Verankern
    2. 4. Einführung in das Excel-Objektmodell
      1. 4.1. Excel ist ein Objekt?
      2. 4.2. In der Objekthierarchie aufsteigen
      3. 4.3. Sich mit Auflistungen beschäftigen
      4. 4.4. Auf Objekte Bezug nehmen
        1. 4.4.1. Durch die Hierarchie navigieren
        2. 4.4.2. Objektbezüge vereinfachen
      5. 4.5. In Objekteigenschaften und -methoden eintauchen
        1. 4.5.1. Objekteigenschaften
        2. 4.5.2. Objektmethoden
        3. 4.5.3. Objektereignisse
      6. 4.6. Mehr herausfinden
        1. 4.6.1. Das VBA-Hilfesystem verwenden
        2. 4.6.2. Den Objektkatalog verwenden
    3. 5. Prozeduren und Funktionen
      1. 5.1. Prozeduren versus Funktionen
        1. 5.1.1. Prozeduren näher betrachtet
        2. 5.1.2. Funktionen näher betrachtet
        3. 5.1.3. Prozeduren und Funktionen benennen
      2. 5.2. Prozeduren ausführen
        1. 5.2.1. Die Prozedur direkt ausführen
        2. 5.2.2. Die Prozedur vom Dialogfeld Makro aus aufrufen
        3. 5.2.3. Ein Makro mithilfe einer Tastenkombination ausführen
        4. 5.2.4. Die Prozedur von einer Schaltfläche oder einer Form aus ausführen
        5. 5.2.5. Eine Prozedur von einer anderen Routine aus aufrufen
      3. 5.3. Funktionen ausführen
        1. 5.3.1. Die Funktion von einer Prozedur aus aufrufen
        2. 5.3.2. Eine Funktion von einer Arbeitsblattformel aus aufrufen
    4. 6. Den Excel-Makrorekorder verwenden
      1. 6.1. Ist es live oder ist es VBA?
      2. 6.2. Grundlagen der Aufzeichnung
      3. 6.3. Die Aufzeichnung vorbereiten
      4. 6.4. Relativ oder absolut?
        1. 6.4.1. Im absoluten Modus aufzeichnen
        2. 6.4.2. Im relativen Modus aufzeichnen
      5. 6.5. Was wird aufgezeichnet?
      6. 6.6. Aufzeichnungsoptionen
        1. 6.6.1. Makroname
        2. 6.6.2. Tastenkombination
        3. 6.6.3. Makro speichern in
        4. 6.6.4. Beschreibung
      7. 6.7. Wie nützlich ist das eigentlich?
  7. III. Programmierkonzepte
    1. 7. Grundlegende VBA-Sprachelemente
      1. 7.1. Kommentare im VBA-Code verwenden
      2. 7.2. Variablen, Konstanten und Datentypen verwenden
        1. 7.2.1. Variablen
        2. 7.2.2. Was sind VBA-Datentypen?
        3. 7.2.3. Variablen und deren Gültigkeitsbereich deklarieren
        4. 7.2.4. Mit Konstanten arbeiten
        5. 7.2.5. Mit Zeichenfolgen arbeiten
        6. 7.2.6. Mit Datumswerten arbeiten
      3. 7.3. Zuweisungsbefehle verwenden
        1. 7.3.1. Beispiele für Zuweisungen
        2. 7.3.2. Über das Gleichheitszeichen
        3. 7.3.3. Andere Operatoren
      4. 7.4. Mit Datenfeldern arbeiten
        1. 7.4.1. Datenfelder deklarieren
        2. 7.4.2. Multidimensionale Datenfelder
        3. 7.4.3. Dynamische Datenfelder
      5. 7.5. Sprungmarken verwenden
    2. 8. Mit Range-Objekten arbeiten
      1. 8.1. Ein schneller Überblick
      2. 8.2. Andere Möglichkeiten, einen Bereich zu referenzieren
        1. 8.2.1. Die Eigenschaft Cells
        2. 8.2.2. Die Eigenschaft Offset
        3. 8.2.3. Ganze Spalten und Zeilen referenzieren
      3. 8.3. Ein paar nützliche Eigenschaften des Range-Objekts
        1. 8.3.1. Die Eigenschaft Value
        2. 8.3.2. Die Eigenschaft Text
        3. 8.3.3. Die Eigenschaft Count
        4. 8.3.4. Die Eigenschaften Column und Row
        5. 8.3.5. Die Eigenschaft Address
        6. 8.3.6. Die Eigenschaft HasFormula
        7. 8.3.7. Die Eigenschaft Font
        8. 8.3.8. Die Eigenschaft Interior
        9. 8.3.9. Die Eigenschaft Formula
        10. 8.3.10. Die Eigenschaft NumberFormat
      4. 8.4. Ein paar nützliche Methoden des Range-Objekts
        1. 8.4.1. Die Methode Select
        2. 8.4.2. Die Methoden Copy und Paste
        3. 8.4.3. Die Methode Clear
        4. 8.4.4. Die Methode Delete
    3. 9. VBA- und Arbeitsblattfunktionen verwenden
      1. 9.1. Was ist eine Funktion?
      2. 9.2. Die integrierten VBA-Funktionen verwenden
        1. 9.2.1. Beispiele für VBA-Funktionen
        2. 9.2.2. VBA-Funktionen, die mehr machen, als einen Wert zurückzuliefern
        3. 9.2.3. VBA-Funktionen entdecken
      3. 9.3. Arbeitsblattfunktionen in VBA verwenden
        1. 9.3.1. Beispiele für Arbeitsblattfunktionen
        2. 9.3.2. Eine Arbeitsblattfunktion eingeben
      4. 9.4. Mehr über die Verwendung von Arbeitsblattfunktionen
      5. 9.5. Benutzerdefinierte Funktionen verwenden
    4. 10. Den Programmfluss steuern und Entscheidungen fällen
      1. 10.1. Mit dem Strom schwimmen
      2. 10.2. Der GoTo-Befehl
        1. 10.2.1. Immer diese Entscheidungen
        2. 10.2.2. Die If-Then-Struktur
        3. 10.2.3. Die Select Case-Struktur
      3. 10.3. Ihr Code dreht Schleifen
        1. 10.3.1. For-Next-Schleifen
        2. 10.3.2. Do-While-Schleife
        3. 10.3.3. Do-Until-Schleife
      4. 10.4. Mit einer Schleife eine Auflistung durchlaufen
    5. 11. Automatische Prozeduren und Ereignisse
      1. 11.1. Sich auf das große Ereignis vorbereiten
        1. 11.1.1. Sind Ereignisse nützlich?
        2. 11.1.2. Ereignishandler-Prozeduren programmieren
      2. 11.2. Wo kommt denn der VBA-Code hin?
      3. 11.3. Eine Ereignishandler-Prozedur schreiben
      4. 11.4. Einführende Beispiele
        1. 11.4.1. Das Ereignis Open einer Arbeitsmappe
        2. 11.4.2. Das Ereignis BeforeClose einer Arbeitsmappe
        3. 11.4.3. Das Ereignis BeforeSave einer Arbeitsmappe
      5. 11.5. Beispiele für Aktivierungsereignisse
        1. 11.5.1. Aktivierungs- und Deaktivierungsereignisse eines Arbeitsblattes
        2. 11.5.2. Aktivierungs- und Deaktivierungsereignisse einer Arbeitsmappe
        3. 11.5.3. Arbeitsmappenaktivierungsereignisse
      6. 11.6. Andere arbeitsblattbezogene Ereignisse
        1. 11.6.1. Das Ereignis BeforeDoubleClick
        2. 11.6.2. Das Ereignis BeforeRightClick
        3. 11.6.3. Das Ereignis Change
      7. 11.7. Ereignisse, die nicht mit Objekten verknüpft sind
        1. 11.7.1. Das Ereignis OnTime
        2. 11.7.2. Tastendruck-Ereignisse
    6. 12. Fehler behandeln
      1. 12.1. Fehlertypen
      2. 12.2. Ein fehlerhaftes Beispiel
        1. 12.2.1. Das Makro ist nicht perfekt
        2. 12.2.2. Das Makro ist immer noch nicht perfekt
        3. 12.2.3. Ist das Makro denn nun perfekt?
        4. 12.2.4. Perfektion wird überbewertet
      3. 12.3. Mit Fehlern auf eine andere Art umgehen
        1. 12.3.1. Noch einmal die Prozedur QuadratwurzelEingeben
        2. 12.3.2. Näheres zum Befehl On Error
      4. 12.4. Fehlerbehandlung: Die Details
        1. 12.4.1. Nach einem Fehler weitermachen
        2. 12.4.2. Fehlerbehandlung im Schnelldurchgang
        3. 12.4.3. Wann man Fehler ignorieren kann
        4. 12.4.4. Besondere Fehler erkennen
      5. 12.5. Ein beabsichtigter Fehler
    7. 13. Fehler beheben
      1. 13.1. Die verschiedenen Arten von Bugs
      2. 13.2. Programmfehler identifizieren
      3. 13.3. Debugging-Techniken
        1. 13.3.1. Den Code untersuchen
        2. 13.3.2. Die MsgBox-Funktion verwenden
        3. 13.3.3. Debug.Print-Aufrufe einfügen
        4. 13.3.4. Den VBA-Debugger verwenden
      4. 13.4. Der VBA-Debugger
        1. 13.4.1. Haltepunkte in Ihrem Code setzen
        2. 13.4.2. Das Überwachungsfenster verwenden
        3. 13.4.3. Das Fenster Lokal
      5. 13.5. Tipps zum Reduzieren von Fehlern
    8. 14. VBA-Programmierbeispiele
      1. 14.1. Mit Bereichen arbeiten
        1. 14.1.1. Einen Bereich kopieren
        2. 14.1.2. Einen variablen Bereich kopieren
        3. 14.1.3. Bis zum Ende einer Zeile oder Spalte auswählen
        4. 14.1.4. Eine Spalte oder eine Zeile auswählen
        5. 14.1.5. Einen Bereich verschieben
        6. 14.1.6. Einen Bereich effizienter durchlaufen
        7. 14.1.7. Einen Zellenwert abfragen
        8. 14.1.8. Den Auswahltyp bestimmen
        9. 14.1.9. Eine Mehrfachauswahl erkennen
      2. 14.2. Excel-Einstellungen ändern
        1. 14.2.1. Boolesche Einstellungen ändern
        2. 14.2.2. Eine nicht-boolesche Einstellung ändern
      3. 14.3. Mit Diagrammen arbeiten
        1. 14.3.1. Den Diagrammtyp ändern
        2. 14.3.2. Die Auflistung ChartObjects durchlaufen
        3. 14.3.3. Diagrammeigenschaften verändern
        4. 14.3.4. Diagramme formatieren
      4. 14.4. Geschwindigkeitstipps zu VBA
        1. 14.4.1. Die Bildschirmaktualisierung ausschalten
        2. 14.4.2. Die automatische Berechnung ausschalten
        3. 14.4.3. Nervige Warnungen abschalten
        4. 14.4.4. Objektreferenzen vereinfachen
        5. 14.4.5. Variablentypen deklarieren
      5. 14.5. Die With-End With-Struktur verwenden
  8. IV. Mit den Anwendern kommunizieren
    1. 15. Einfache Dialogfelder erstellen
      1. 15.1. Warum userForms erstellen?
      2. 15.2. Die Funktion MsgBox
        1. 15.2.1. Eine einfache Meldung anzeigen
        2. 15.2.2. Einen Rückgabewert von einer Meldung erhalten
        3. 15.2.3. Das Meldungsfenster anpassen
      3. 15.3. Die Funktion InputBox
        1. 15.3.1. Die Syntax von InputBox
        2. 15.3.2. Ein Beispiel für InputBox
      4. 15.4. Die Methode GetOpenFilename
        1. 15.4.1. Die Syntax
        2. 15.4.2. Ein Beispiel für GetOpenFilename
        3. 15.4.3. Mehrere Dateien auswählen
      5. 15.5. Die Methode GetSaveAsFilename
      6. 15.6. Einen Ordnernamen ermitteln
      7. 15.7. Die integrierten Excel-Dialogfelder anzeigen
    2. 16. Grundlagen zu userForms
      1. 16.1. Wann eine userForm benötigt wird
      2. 16.2. userForms erstellen: Ein Überblick
      3. 16.3. Mit userForms arbeiten
        1. 16.3.1. Eine neue userForm hinzufügen
        2. 16.3.2. Einer userForm Steuerelemente hinzufügen
        3. 16.3.3. Die Eigenschaften von UserForm-Steuerelementen ändern
        4. 16.3.4. Das Code-Fenster der userForm anzeigen
        5. 16.3.5. Eine userForm anzeigen
        6. 16.3.6. Informationen aus einer userform verwenden
      4. 16.4. Ein Beispiel für eine userForm
        1. 16.4.1. Die userForm erstellen
        2. 16.4.2. Die Schaltflächen hinzufügen
        3. 16.4.3. Die Optionsfelder hinzufügen
        4. 16.4.4. Ereignishandler-Prozeduren hinzufügen
        5. 16.4.5. Ein Makro erzeugen, das das Dialogfeld anzeigt
        6. 16.4.6. Das Makro verfügbar machen
        7. 16.4.7. Das Makro testen
    3. 17. userForm-Steuerelemente verwenden
      1. 17.1. Grundlagen zu Steuerelementen
        1. 17.1.1. Steuerelemente hinzufügen
        2. 17.1.2. Einführung in die Eigenschaften von Steuerelementen
      2. 17.2. Steuerelemente: Die Details
        1. 17.2.1. Das Steuerelement Kontrollkästchen
        2. 17.2.2. Das Steuerelement Kombinationsfeld
        3. 17.2.3. Das Steuerelement Befehlsschaltfläche
        4. 17.2.4. Das Steuerelement Rahmen
        5. 17.2.5. Das Steuerelement Anzeige
        6. 17.2.6. Das Steuerelement Bezeichnungsfeld
        7. 17.2.7. Das Steuerelement Listenfeld
        8. 17.2.8. Das Steuerelement Multiseiten
        9. 17.2.9. Das Steuerelement Optionsfeld
        10. 17.2.10. Das Steuerelement RefEdit
        11. 17.2.11. Das Steuerelement Bildlaufleiste
        12. 17.2.12. Das Steuerelement Drehfeld
        13. 17.2.13. Das Steuerelement Register
        14. 17.2.14. Das Steuerelement Textfeld
        15. 17.2.15. Das Steuerelement Umschaltfeld
      3. 17.3. Mit Steuerelementen arbeiten
        1. 17.3.1. Steuerelemente verschieben und die Größe ändern
        2. 17.3.2. Steuerelemente ausrichten und anordnen
        3. 17.3.3. Tastaturbenutzern entgegenkommen
        4. 17.3.4. userForms testen
      4. 17.4. Dialogfeldästhetik
    4. 18. userForms – Techniken und Tipps
      1. 18.1. Dialogfelder einsetzen
      2. 18.2. Ein weiteres userForm-Beispiel
        1. 18.2.1. Das Dialogfeld erstellen
        2. 18.2.2. Code schreiben, um das Dialogfeld anzuzeigen
        3. 18.2.3. Das Makro verfügbar machen
        4. 18.2.4. Das Dialogfeld ausprobieren
        5. 18.2.5. Ereignishandler-Prozeduren hinzufügen
        6. 18.2.6. Die Daten überprüfen
        7. 18.2.7. Nun funktioniert das Dialogfeld
      3. 18.3. Mehr Beispiele für userForms
        1. 18.3.1. Ein Beispiel für ein Listenfeld
        2. 18.3.2. Einen Bereich auswählen
        3. 18.3.3. Mit mehreren Optionsfeldgruppen arbeiten
        4. 18.3.4. Ein Drehfeld und ein Textfeld verwenden
        5. 18.3.5. Ein benutzerdefiniertes Dialogfeld als Fortschrittsindikator verwenden
        6. 18.3.6. Ein Dialogfeld mit Registerkarten erstellen
        7. 18.3.7. Ein Diagramm in einem Dialogfeld anzeigen
      4. 18.4. Eine Dialogfeld-Checkliste
    5. 19. Auf Ihre Makros über die Benutzeroberfläche zugreifen
      1. 19.1. CommandBars und Excel 2007
      2. 19.2. Die Excel 2007-Multifunktionsleiste anpassen
      3. 19.3. Mit CommandBars arbeiten
        1. 19.3.1. Die CommandBars-Auflistung steuern
        2. 19.3.2. Eine Liste aller Kontextmenüs
        3. 19.3.3. Sich auf CommandBars beziehen
        4. 19.3.4. Sich auf Steuerelemente in einer CommandBar beziehen
        5. 19.3.5. Eigenschaften der CommandBar-Steuerelemente
      4. 19.4. VBA-Beispiele für Kontextmenüs
        1. 19.4.1. Alle integrierten Kontextmenüs zurücksetzen
        2. 19.4.2. Ein neues Element zum Kontextmenü Cell hinzufügen
        3. 19.4.3. Ein Kontextmenü deaktivieren
      5. 19.5. Eine benutzerdefinierte Symbolleiste erstellen
  9. V. Alles zusammenfügen
    1. 20. Wie man das Erstellen von Arbeitsblattfunktionen übersteht
      1. 20.1. Warum benutzerdefinierte Funktionen erstellen?
      2. 20.2. Die Grundlagen von VBA-Funktionen
      3. 20.3. Funktionen schreiben
      4. 20.4. Mit Funktionsargumenten arbeiten
      5. 20.5. Beispiele für Funktionen
        1. 20.5.1. Eine Funktion ohne Argumente
        2. 20.5.2. Eine Funktion mit einem Argument
        3. 20.5.3. Eine Funktion mit zwei Argumenten
        4. 20.5.4. Eine Funktion mit einem Bereich als Argument
        5. 20.5.5. Eine Funktion mit einem optionalen Argument
        6. 20.5.6. Eine Funktion mit einer unbestimmten Anzahl an Argumenten
      6. 20.6. Funktionen, die ein Feld zurückliefern
        1. 20.6.1. Ein Feld mit Monatsnamen zurückliefern
        2. 20.6.2. Eine sortierte Liste zurückliefern
      7. 20.7. Das Dialogfeld Funktion einfügen verwenden
        1. 20.7.1. Die Beschreibung der Funktion anzeigen
        2. 20.7.2. Argumente beschreiben
    2. 21. Excel Add-Ins erstellen
      1. 21.1. Was ist ein Add-In?
      2. 21.2. Warum Add-Ins erstellen?
      3. 21.3. Mit Add-Ins arbeiten
      4. 21.4. Add-Ins – Grundlagen
      5. 21.5. Ein Beispiel für ein Add-In
        1. 21.5.1. Die Arbeitsmappe einrichten
        2. 21.5.2. Die Arbeitsmappe testen
        3. 21.5.3. Beschreibende Informationen hinzufügen
        4. 21.5.4. Den VBA-Code schützen
        5. 21.5.5. Ein Add-In erstellen
        6. 21.5.6. Das Add-In öffnen
        7. 21.5.7. Das Add-In verteilen
        8. 21.5.8. Das Add-In ändern
  10. VI. Der Top-Ten-Teil
    1. 22. Zehn Fragen zu VBA (und die Antworten dazu)
    2. 23. (Beinah) Zehn Excel-Quellen
      1. 23.1. Das VBA-Hilfesystem
      2. 23.2. Die Microsoft-Produktunterstützung
      3. 23.3. Newsgroups
      4. 23.4. Websites
      5. 23.5. Excel-Blogs
      6. 23.6. Google
      7. 23.7. Benutzergruppen