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 Excel 2010-Programmierung - Das Handbuch

Book Description

Das umfassende Lehr- und Nachschlagewerk zur Excel 2010-Programmierung. Die beiden Excel-VBA-Experten Monika Can-Weber und Tom Wendel haben ihren Erfahrungsschatz in diesem Handbuch gebündelt und bieten Ihnen eine schier unerschöpfliche Quelle an Beispielen, wie Sie mit VBA Excel automatisieren, anpassen und erweitern. Von den grundlegenden Programmiertechniken und dem Verständnis des Objektmodells bis hin zur API- und Klassenprogrammierung erlernen Sie praxisnah die VBA-Programmierung in Excel. Darüber hinaus widmen sich die Autoren dem Umgang mit zukunftweisenden Technologien wie XML und XSLT und zeigen, wie Sie das Menüband in Excel 2010 mithilfe von RibbonX anpassen und erweitern können. Abgerundet wird das Buch mit einem Überblick zu Automatisierungstechniken mit .NET Framework und Visual Studio Tools for Office, die VBA sinnvoll ergänzen.

Table of Contents

  1. Microsoft Excel 2010-Programmierung Das Handbuch
  2. Vorwort
    1. Hilfe aus den Newsgroups
      1. Windows Live Mail
    2. Danksagung von Monika Can-Weber
    3. Danksagung von Tom Wendel
  3. Einleitung
    1. Die Symbole
    2. Die Schreibweisen
    3. Die Begleitdateien zum Buch
    4. Die Themen
  4. I. Grundkenntnisse in Excel-VBA aufbauen
    1. 1. Makrorekorder, VBA und VBE kennen lernen
      1. Einblenden der Entwicklertools
      2. Die Bedeutung der Sicherheitseinstellungen
        1. Alle Makros ohne Benachrichtigung deaktivieren
        2. Alle Makros mit Benachrichtigung deaktivieren
        3. Alle Makros außer digital signierten Makros deaktivieren
        4. Alle Makros aktivieren
      3. Der Umgang mit dem Makrorekorder
        1. Namenskonventionen beachten
        2. Ein Makro aufzeichnen
        3. Ein Makro aufrufen
        4. Eine Tastenkombination nachträglich zuweisen
        5. Eine Tastenkombination entfernen
        6. Absolute und relative Aufzeichnung
        7. Der Unterschied zwischen ActiveCell und Selection
        8. Ein Makro löschen
      4. Ein Makro auf einfache Weise ausführen
        1. Es gibt kein Zurück
        2. Eine Formularsteuerelement-Schaltfläche verwenden
        3. Eine ActiveX-Befehlsschaltfläche verwenden
      5. Die persönliche Makroarbeitsmappe (PERSONAL.XLSB)
      6. Den VBA-Editor kennen lernen
        1. Der Projekt-Explorer
        2. Der VBA-Editor
        3. Das Eigenschaftenfenster
        4. Der Direktbereich
        5. Weitere Einstellungsmöglichkeiten
          1. Elemente des Editors ein- oder ausblenden
          2. Formate des Editors ändern
        6. Elemente in der VBA-Umgebung neu anordnen
          1. Elemente verankern
          2. Elemente platzieren
      7. VBA-Code kommentieren
        1. Modullevel-Kommentare
        2. Prozedurlevel-Kommentare
        3. Codelevel-Kommentare
      8. Die Visual Basic-Hilfe
      9. Mit Modulen arbeiten
        1. Welche Modultypen gibt es?
        2. Ein Modul einfügen
        3. Ein Modul umbenennen
        4. Ein Modul exportieren
        5. Ein Modul importieren
        6. Ein Modul löschen
    2. 2. Objekte, Eigenschaften und Methoden erforschen
      1. Ein sinnbildlicher Vergleich mit der Natur
      2. Die Basisobjekte von Excel kennen lernen
        1. Die Excel-Applikation ist ein Objekt
        2. Arbeitsmappen-Objekte innerhalb von Excel verstehen
        3. Objekte in der Onlinehilfe abfragen
      3. Was kann man mit Objekten tun? (Methoden)
        1. Methoden an der Applikation anwenden
        2. Methoden an Arbeitsmappen anwenden
        3. Methoden an Tabellenblättern ausführen
        4. Methoden auf Zellen und Bereiche ausüben
      4. Wie werden Objekte verändert? (Eigenschaften)
        1. Der Applikation einen neuen Namen zuweisen
        2. Den Namen der aktiven Arbeitsmappe ermitteln
        3. Ein Tabellenblatt umbenennen
        4. Farbige Zellen und Bereiche
      5. Was ist IntelliSense?
      6. Objekte referenzieren
      7. Arbeiten mit dem Objektkatalog
    3. 3. Theoretische Grundkenntnisse beherrschen
      1. Datentypen einsetzen
      2. Präfixe verwenden
      3. Variablen kennen lernen
        1. Variablen korrekt deklarieren
        2. Mehrere Variablen in einer Zeile deklarieren
        3. Den Datentyp Variant vermeiden
        4. Statische Variablen (Static)
        5. Öffentliche Variablen (Public)
      4. Benutzerdefinierte Konstanten verwenden
        1. Integrierte Konstanten
        2. Datentypen konvertieren
        3. Datentypen prüfen
    4. 4. Fehler erkennen und beheben
      1. Wie können Fehler entstehen?
      2. Es gibt drei Testfenster
        1. Das Direktfenster verwenden
        2. Das Direktfenster zur Überwachung loslösen
        3. Eingaben ohne Rückgabewerte
        4. Variablen abfragen (Debug.Print)
        5. Das Lokal-Fenster benutzen
        6. Mit dem Überwachungsfenster arbeiten
      3. Prozeduren debuggen
        1. Debuggen im Einzelschritt
        2. Haltepunkte setzen
        3. Debuggen im Prozedurschritt
        4. Debuggen bis zur Cursorposition
      4. Fehler tolerieren
        1. Fehlermeldungen unterdrücken (On Error Resume Next)
        2. Fehlerunterdrückung zurücksetzen (On Error GoTo 0)
        3. Fehler in Sprungmarken abfangen
      5. Weitere Informationen zum Thema Fehler
        1. Integrierte Fehlermeldungen selbst erzeugen (Err)
        2. Eine Fehlermeldung erzeugen
        3. Das Debugger-Fenster umgehen
        4. Programme unterbrechen
        5. Die Konstante xlDisabled verwenden
        6. Die Konstante xlInterrupt einsetzen
        7. Die Konstante xlErrorHandler benutzen
  5. II. Der Einstieg in die VBA-Programmierung
    1. 5. Dialogfelder programmieren und aufrufen
      1. Meldungsfelder programmieren (MsgBox)
        1. Die Titelleiste verändern
        2. Nachrichtenzeilen im Code umbrechen
        3. Zeilenumbrüche verwenden
        4. Tabulatoren benutzen
        5. Anführungszeichen im Text eingeben
        6. Welche Parameter sind wichtig?
        7. Schaltflächen einfügen
        8. Symbole einblenden
      2. Eingabedialogfelder erstellen
        1. Eine InputBox programmieren
        2. Eine Application.InputBox erstellen
      3. Integrierte Dialogfelder aufrufen
        1. Das Dialogfeld Öffnen anzeigen
        2. Das Dialogfeld Speichern unter öffnen
    2. 6. Entscheidungen, Zusammenfassungen und Sprungmarken erlernen
      1. Was sind Entscheidungen?
        1. Eine If...Then...Else-Entscheidung verwenden
        2. Entscheidungen verschachteln
        3. Operatoren als Bestandteil einer Entscheidung
        4. Eine IIf-Entscheidung anwenden
        5. Select Case als Alternative nutzen
      2. GoTo und Exit Sub vermeiden
    3. 7. Mit Schleifen und Zusammenfassungen arbeiten
      1. Mit Schleifen arbeiten
        1. For...Next-Schleifen durchlaufen
        2. For...Next-Schleifen schrittweise durchlaufen
        3. For...Next-Schleifen rückwärts durchlaufen
        4. For...Next-Schleifen vorzeitig verlassen
        5. For...Next-Schleifen verschachteln
        6. Mittels For Each Tabellenblätter ansprechen
        7. Mittels For Each Zellen abarbeiten
        8. Do While...Loop benutzen
        9. Do Until...Loop kennen lernen
        10. While...Wend verwenden
      2. Codezeilen zusammenfassen
      3. Geschwindigkeit von Prozeduren messen
    4. 8. Subprozeduren und Arrays anwenden
      1. Prozeduren aus Prozeduren aufrufen (Call)
        1. Eine Subprozedur aufrufen
        2. Ein rekursiver Prozeduraufruf
        3. Parameterangaben bei Prozedurnamen
      2. Mit Arrays arbeiten
        1. Eindimensionale Arrays
        2. Mehrdimensionale Arrays
        3. LBound und UBound
        4. Dynamische Arrays (ReDim und Preserve)
        5. Ein dynamisches Array in der Praxis
        6. Ein Array sortieren
    5. 9. Datum und Uhrzeit verwenden
      1. Der Umgang mit Datum und Uhrzeit
      2. Datums- und Zeitdifferenz ermitteln
      3. Eine Nachricht drei Sekunden lang anzeigen lassen
      4. Eine zeitgesteuerte Prozedur
      5. Ein bestimmtes Datum suchen
        1. Zellen mit heutigem Datum suchen
        2. Heutiges Datum rot hinterlegen
        3. Zellen mit bestimmtem Datum selektieren
      6. Einen Jahreskalender erstellen
      7. Einen Monatskalender erstellen
      8. Einen Wochenkalender erstellen
  6. III. Wissen und Praxis verbinden
    1. 10. Der gekonnte Umgang mit Basisobjekten
      1. Zellen und Bereiche ansprechen
        1. Vermeiden von Select und Activate
        2. Zellenbezug oder Index verwenden (Range oder Cell)
        3. Arbeiten mit Offset
        4. Zellen einfügen (Insert)
        5. Zellen löschen (Delete)
        6. Leerzellen löschen (SpecialCells)
        7. Inhalt von Zellen löschen (Clear)
        8. Werte in Zellen löschen (ClearContents)
        9. Zellenformate löschen (ClearFormats)
        10. Zellen verschieben (Cut)
        11. Zellen kopieren (Copy)
        12. Nur Werte oder Formate einfügen (PasteSpecial)
        13. Der Unterschied zwischen Selektieren und Aktivieren
        14. Benutzten Bereich markieren (UsedRange)
        15. Umliegenden Bereich markieren (CurrentRegion)
        16. Farben entfernen
        17. Weitere Techniken zum Markieren
          1. Die letzte benutzte Zelle in einer Spalte ermitteln
          2. Die erste freie Zelle einer Spalte ermitteln
          3. Die letzte benutzte Zelle in einer Zeile ermitteln
          4. Die erste freie Zelle einer Zeile ermitteln
          5. Die letzte benutzte Zelle einer Tabelle ermitteln
          6. Ab einer bestimmten Zelle bis zur letzten belegten Zelle markieren
          7. Eine bestimmte Anzahl an Zellen nach unten markieren
          8. Eine bestimmte Anzahl an Zellen nach rechts markieren
          9. Einen Bereich dynamisch markieren
          10. Zur ersten Zelle der nächsten Spalte springen
        18. Markierte Zellen, Zeilen oder Spalten zählen
        19. Alle Werte eines Tabellenblattes zählen
        20. Alle benutzten Zellen zählen
        21. Verbundene Zellen
        22. Zeilen, Spalten und Zelladressen ausgeben
        23. AutoAusfüllen per VBA
      2. Zeilen und Spalten bearbeiten
        1. Markieren von Zeilen und Spalten
        2. Aktive Zeile oder Spalte markieren
        3. Mehrere Zeilen oder Spalten markieren
        4. Eine Zeile oder Spalte einfügen
        5. Mehrere Zeilen oder Spalten einfügen
        6. Eine Zeile oder Spalte löschen
        7. Mehrere Zeilen oder Spalten löschen
        8. Zeilen oder Spalten kopieren
        9. Höhe von Zeilen oder Breite von Spalten festlegen
        10. Automatisches Anpassen der Höhe oder Breite (AutoFit)
        11. Ein- und Ausblenden von Zeilen und Spalten
        12. Welche Spalten oder Zeilen sind ausgeblendet?
        13. Leere Zeilen oder Spalten ausblenden
        14. Leere Zeilen und Spalten löschen
      3. Der Umgang mit Tabellenblättern
        1. Worksheets oder Sheets?
        2. Zellen eines bestimmten Tabellenblattes verändern
        3. Ein neues Tabellenblatt einfügen
        4. Ein Tabellenblatt verschieben
        5. Ein Tabellenblatt kopieren
        6. Bestimmtes Tabellenblatt löschen
        7. Alle Tabellenblätter löschen (außer einem)
        8. Ein- und Ausblenden von Tabellenblättern
        9. Tabellenblätter umbenennen
        10. Tabellenblätter automatisch umbenennen
        11. Schutz von Tabellen, Bereichen und Mappen
        12. Zellen entsperren und sperren
        13. Nicht gesperrte Zellen farbig hinterlegen
        14. Keine Selektion auf dem Tabellenblatt zulassen
        15. Keine Restriktionen auf gesperrte Zellen
        16. Markieren gesperrter Zellen unterdrücken
        17. Tabellenblattnamen in Zellen schreiben
        18. Tabellenblattnamen aus Zelle beziehen
        19. Tabellenblätter sortieren
        20. Neue Farbe für Blattregisterkarten
      4. Arbeitsmappen manipulieren
        1. Arbeitsmappen öffnen
        2. Arbeitsmappen speichern
          1. Alle offenen Dateien speichern und Applikation verlassen
        3. Arbeitsmappen schließen
        4. Eine neue Arbeitsmappe erzeugen
        5. Arbeitsmappen ansprechen
        6. Namen der geöffneten Arbeitsmappen ermitteln
    2. 11. Die Excel-Oberfläche einrichten
      1. Optionen für die Arbeitsoberfläche
        1. Gitternetzlinien ein- und ausblenden
        2. Blattregisterkarten ein- und ausblenden
        3. Formeln ein- und ausblenden
      2. Weitere Elemente der Oberfläche einrichten
        1. Die Statusleiste ein- oder ausblenden
        2. Eigenen Text in der Statusleiste ausgeben
        3. Die Bearbeitungsleiste ein- und ausblenden
        4. Zwischen Ansichten wechseln
      3. Dateieigenschaften manipulieren
        1. Dateieigenschaften auslesen
        2. Dateieigenschaften erstellen
      4. Fenstertechniken anwenden
        1. Fensterstatus verändern
        2. Fensterstatus abfragen
      5. Kopf- und Fußzeilen verändern
        1. Formatieren von Kopf- und Fußzeilen
        2. Felder in Kopf- und Fußzeilen verwenden
        3. Zeilenumbrüche in Kopf- und Fußzeilen
        4. Benutzername in Kopf- und Fußzeilen ausgeben
        5. Anzahl der Tabellenblätter in Kopf- und Fußzeilen ausgeben
        6. Gleiche Kopf- und Fußzeilen für alle Tabellenblätter einrichten
        7. Sämtliche Kopf- und Fußzeilen aus einer Arbeitsmappe entfernen
        8. Grafik in Kopf- und Fußzeilen einfügen
        9. Wiederholungszeilen einrichten (Blattschutz)
      6. Antworten auf Fragen rund ums Drucken
        1. Ein Tabellenblatt auf verschiedene Weise ausdrucken
        2. Mehrere Tabellenblätter drucken
        3. Alle Tabellenblätter drucken
        4. Bereiche drucken
        5. Einen Druckbereich festlegen
        6. Das Drucken-Dialogfeld öffnen
        7. Anzahl der Druckseiten pro Tabellenblatt ermitteln
        8. Leerzeilen für den Druck ausblenden
        9. Ausgeblendete Tabellenblätter drucken
        10. Wechseln zwischen Hoch- und Querformat
        11. Gitternetzlinien, Spalten- und Zeilenköpfe ausdrucken
    3. 12. Nützliche Helfer
      1. Formatierungen an Zellen bearbeiten
        1. Die Schriftart ändern
        2. Die Schriftart ersetzen
        3. Schriftfarben bestimmen
        4. Schriftfarben ersetzen
        5. Welche Schriftformatierungen gibt es noch?
        6. Teile von Zeichenketten formatieren
        7. Zellen mit Rahmen umgeben
        8. Formate kopieren
        9. Formate entfernen
        10. Zahlenformate zuweisen (NumberFormat)
      2. Jetzt wird’s bunt
        1. Color im Vergleich zu ColorIndex
          1. Farbkonstanten
          2. Farbindex
          3. RGB-Farben
        2. Farben entfernen
        3. Eine Standardfarbtabelle erstellen
        4. Farbindex oder Farbnummer ermitteln
        5. Farbige Zellen zählen
        6. Farben austauschen
        7. Farbige Zellen schützen
        8. Verknüpfungen hervorheben
        9. Rote Zellen markieren
        10. Jede zweite Zeile grau hinterlegen
        11. Minuszahlen rot blinken lassen
        12. Wochenenden farbig hervorheben
      3. Arbeiten mit Kommentaren
        1. Kommentare erstellen
        2. Kommentare ergänzen
        3. Einen Kommentar formatieren
        4. Kommentare löschen
        5. Kommentartext aus Zelle beziehen
        6. Inhalt von Kommentaren in Zellen übernehmen
        7. Kommentare mit Benutzername, Datum und Uhrzeit
        8. Über Kommentare Änderungen rapportieren
        9. Kommentare mit speziellen Formen
      4. Tasten per VBA steuern
        1. Tastenkombinationen erstellen (OnKey)
        2. Tasten senden (SendKeys)
      5. Brauchbares rund um Tabellen- und VBA-Funktionen
        1. Formeln hervorheben
        2. Formeln in Tabellenblatt ausgeben
        3. Den kleinsten und größten Wert einer Spalte finden (Min und Max)
        4. Umschalten zwischen Klein- und Großbuchstaben (UCase/LCase)
        5. Zeichenfolgen oder Formate ersetzen (Replace)
        6. Die Anzahl an Zeichen eines Strings ermitteln (Len)
        7. Den linken Teil einer Zeichenkette finden (Left)
        8. Den rechten Teil einer Zeichenkette ermitteln (Right)
        9. Teile einer Zeichenfolge ermitteln (Mid)
        10. Die Position eines Zeichens ausgeben (Instr)
        11. Den Rest einer ganzzahligen Division ermitteln (Mod)
  7. IV. Formeln und Ereignisse erstellen
    1. 13. Funktionen selbst kreieren
      1. Englische Funktionsnamen per Makrorekorder ermitteln
      2. Eigene Funktionen programmieren
        1. VBA-Funktionen in einer Tabelle verwenden
        2. VBA-Funktionen einer anderen Kategorie zuweisen
        3. Eine Funktion ohne Übergabewerte
        4. Neuberechnung (Application.Volatile)
        5. Eine Funktion mit mehreren Übergabewerten
        6. Bereichsfunktionen
        7. Array-Funktionen
        8. Unbestimmte Anzahl an Übergabewerten (Parameter-Array)
        9. Eine Funktion in einer Prozedur verwenden
        10. Eine Tastenkombination zuweisen
      3. Funktionen generell zur Verfügung stellen
        1. PERSONAL.XLSB
        2. Funktionen in Add-Ins bereitstellen
      4. Hilfreiche Funktionen für den Alltag
        1. Englische und deutsche Formelnamen ermitteln
        2. Eine vereinfachte Wenn-Funktion
        3. Inhalte farbiger Zellen berechnen
        4. Benutzernamen ermitteln
        5. Sternzeichen aus einem Datum ermitteln
        6. Eine Zufallszahl mit Unter- und Obergrenze
        7. Zeichenfolgen rückwärts schreiben
        8. Namen vertauschen
        9. Initialen generieren
        10. Ganzzahlen in Buchstaben ausgeben
        11. Umlaute in Selbstlaute umwandeln
        12. Eine Auswahl programmieren
        13. Die Quersumme einer Zelle berechnen
        14. Runden auf den 5er genau
        15. Prüfen, ob eine Zelle eine Formel enthält
        16. Prüfen, ob ein Datum vorliegt
        17. Zelle auf Format prüfen
        18. Prüfen, ob eine Datei vorhanden ist
    2. 14. Ereignisorientierte Programmierung
      1. Wie und wo werden Ereignisprozeduren erstellt?
      2. Ereignisse deaktivieren
      3. Welche Ereignisse gibt es?
      4. Ereignisse in Mappen
        1. Workbook_Activate- und Workbook_Deactivate- Ereignis
          1. Fenster maximieren und minimieren
        2. Workbook_Open-Ereignis
          1. Aktivieren eines bestimmten Tabellenblattes
          2. Einen Zähler verwenden
          3. Rollbereich festlegen (ScrollArea)
        3. Workbook_BeforeClose-Ereignis
          1. Schließen-Kreuz deaktivieren
          2. Das Speichern einer Mappe erzwingen
        4. Workbook_BeforeSave-Ereignis
          1. Letzte Speicherung protokollieren
          2. Das Speichern einer Mappe verhindern
        5. Workbook_BeforePrint-Ereignis
          1. Vollständigen Pfad in der Fußzeile ausgeben
        6. Workbook_SheetCalculate-Ereignis
          1. Farbwechsel bei Neuberechnung
      5. Ereignisse in Tabellenblättern
        1. Worksheet_Activate- und Worksheet_Deactivate-Ereignis
          1. Datum und Uhrzeit protokollieren
        2. Worksheet_BeforeDoubleClick-Ereignis
          1. Die erste freie Zelle einer Spalte selektieren
        3. Worksheet_BeforeRightClick-Ereignis
          1. Per Rechtsklick den Funktions-Assistenten anzeigen
        4. Worksheet_Change-Ereignis
          1. Änderungen an einem Tabellenblatt protokollieren
          2. Beliebig viele Bedingungen
        5. Worksheet_SelectionChange-Ereignis
          1. Bereich bei jeder Änderung neu sortieren
      6. Steuerelemente (ActiveX)
        1. Standardsteuerelemente
        2. Befehlsschaltfläche (CommandButton)
        3. Umschaltfläche (ToggleButton)
        4. Bezeichnungsfeld (Label)
        5. Textfeld (TextBox)
        6. Optionsfeld (OptionButton)
        7. Kontrollkästchen (CheckBox)
        8. Listenfeld (ListBox)
        9. Kombinationsfeld (ComboBox)
        10. Drehfeld (SpinButton)
        11. Bildlaufleiste (ScrollBar)
        12. Bild (Image)
        13. Zusätzliche Steuerelemente
          1. Eine animierte Grafik in Excel
          2. Navigation auf der Festplatte
        14. Steuerelemente aus einem Tabellenblatt entfernen
  8. V. Auswertungstechniken anwenden
    1. 15. Daten auswerten
      1. Daten vergleichen
        1. Werte vergleichen und farblich hervorheben
        2. Datenreihe mit Bereich vergleichen
        3. Zwei Bereiche vergleichen
        4. Tabellenblätter vergleichen
      2. Daten sortieren
        1. Vertikal sortieren
        2. Horizontal sortieren
        3. Blöcke sortieren
        4. Farbige Zellen sortieren
      3. Daten transponieren
        1. Einfaches Transponieren
        2. Mehrere Bereiche auf einmal transponieren
      4. Datenmasken verwenden
        1. Die Datenmaske per VBA aufrufen
        2. Eine Datenmaske mit europäischen Datumsangaben
        3. Eine Datenmaske für einen bestimmten Bereich
      5. Datengültigkeit erforschen (Datenüberprüfung)
        1. Zellendropdownfelder löschen
        2. Zellendropdownfelder erstellen
      6. Arbeiten mit benannten Bereichen
        1. Benannte Bereiche erstellen
        2. Benannte Bereiche markieren
        3. Benannte Bereiche berechnen
        4. Benannte Bereiche ausgeben
        5. Benannte Bereiche löschen
    2. 16. AutoFilter und Spezialfilter einsetzen
      1. AutoFilter mittels VBA steuern
        1. Berechnungen von gefilterten Daten (Teilergebnis)
        2. Gefilterte Daten kopieren
        3. Einen einfachen AutoFilter programmieren
        4. Filtern über ein Eingabefeld
        5. Datumsangaben im AutoFilter verwenden
        6. Filtern trotz Blattschutz zulassen
        7. Den AutoFilter ausblenden
        8. Einen einzelnen Filterpfeil ausblenden
        9. Leere Einträge filtern
        10. Alle Datensätze einblenden
        11. Prüfen, ob der Filtermodus aktiv ist
        12. Filterbereich ohne Titelzeile markieren
        13. Nur gefilterte Datensätze markieren
        14. Sichtbare Zellen kopieren
        15. Anzahl gefilterter Zeilen zählen
        16. Zeilennummer des ersten gefilterten Datensatzes ausgeben
        17. Zeilennummer des letzten gefilterten Datensatzes ausgeben
        18. Datensätze nach Farben filtern
      2. Der Umgang mit dem Spezialfilter
        1. Doppelte Datensätze ausblenden
        2. Ereignisorientiert filtern
    3. 17. Pivot-Tabellen programmieren
      1. Der Pivot-Tabellen-Assistent
      2. Pivot-Tabellen-Objekte
      3. Pivot-Tabellen löschen
      4. Eine Pivot-Tabelle erzeugen
      5. Gleichzeitig zwei Pivot-Tabellen erzeugen
      6. Berechnungen in Pivot-Tabellen
      7. Eine Pivot-Tabelle automatisch aktualisieren
      8. Pivot-Tabelle sortieren
      9. Pivot-Tabellenfelder vertauschen
      10. Pivot-Tabellenfelder formatieren
      11. Eine komplett formatierte Pivot-Tabelle erzeugen
  9. VI. Objekte auf dem Tabellenblatt
    1. 18. Diagramme automatisieren
      1. Das Diagramm-Objektmodell
      2. Welche Diagrammtypen gibt es?
      3. Ein Diagramm manuell erzeugen
      4. Ein Diagramm per VBA erzeugen
      5. Name des Diagramms ändern
      6. Diagramme korrekt ansprechen
        1. Ein eingebettetes Diagramm ansprechen
        2. Ein Diagrammblatt ansprechen
      7. Diagramme ausdrucken
        1. Ein eingebettetes Diagramm ausdrucken
        2. Ein Diagrammblatt ausdrucken
      8. Diagramme löschen
      9. Diagrammobjekte ein- oder ausblenden
        1. Diagramm ein- oder ausblenden
        2. Die Achsen ein- oder ausblenden
        3. Verschiedene Diagrammelemente ein- oder ausblenden
      10. Die Legende platzieren
      11. Diagrammelemente formatieren
        1. Datenreihen formatieren
        2. Einzelne Datenpunkte formatieren
        3. Markierer formatieren
        4. Die Skalierung eines Säulendiagramms ändern
        5. Achsen ausrichten
        6. 3D-Diagramme
        7. 3D-Oberflächendiagramme
      12. Diagrammbeschriftungen formatieren
        1. Diagrammtitel und Achsentitel
        2. Achsentext formatieren
      13. Trendlinien bearbeiten
      14. Benutzerdefinierte Diagramme erstellen
        1. Benutzerdefiniertes Diagramm erstellen
        2. Ein benutzerdefiniertes Diagramm erstellen
      15. Negative Datenpunkte hervorheben
      16. Bedingte Formatierung von Diagrammpunkten
      17. Diagramm mit Schwebebalken
      18. Kombinationsdiagramme erstellen
      19. Halbtransparente Datenpunkte
      20. Diagrammereignisse
        1. Ereignisse für Diagrammblätter
        2. Ereignisse für eingebettete Diagramme
      21. Ein Diagramm exportieren (Grafikformat)
      22. Dynamische Diagramme
        1. Ein dynamisches Diagramm erstellen (UsedRange)
        2. Ein dynamisches Diagramm erstellen (CurrentRegion)
        3. Dynamisch in Bezug auf Zeilen
        4. Dynamisch in Bezug auf Zeilen und Spalten
        5. Unabhängige Spalten ansprechen
    2. 19. Grafische Objekte per VBA steuern
      1. Objekte korrekt ansprechen
        1. Welche Objekttypen gibt es?
        2. Objekttyp ermitteln
        3. Alle Objekte löschen
        4. Objekte eines bestimmten Typs löschen
        5. Ein Objekt über einem Bereich einfügen
        6. Ein Objekt zentrieren
      2. Zeichenelemente bearbeiten
      3. AutoFormen verwenden
      4. WordArt-Objekte erstellen
        1. Ein Wasserzeichen einfügen
        2. WordArt-Text aus Zelle beziehen
        3. WordArt-Farbverlauf per Mausklick ändern
      5. Grafiken einsetzen
        1. Grafiken einfügen
        2. Grafiken der Größe eines Bereichs anpassen
        3. Einer Grafik einen Namen zuweisen
        4. Grafiken löschen
        5. Grafiken bedingt einfügen
        6. Grafiken formatieren
        7. Bereiche einer Tabelle als Grafik abspeichern
        8. Einen Bereich als Grafik exportieren
        9. Verknüpfte Bilder
        10. Eine Grafik nur einige Sekunden lang anzeigen
      6. Formularsteuerelemente automatisieren
        1. Eine Formular-Schaltfläche per VBA einfügen
        2. Steuerelemente automatisch »in« Zellen anordnen
        3. Kontrollkästchen bedingt einfügen
    3. 20. Das Menüband manipulieren (RibbonX)
      1. Der XML-Editor für Microsoft Office Custom UI
      2. Eine erste Veränderung am Menüband
      3. Grundlagen in Bezug auf RibbonX
        1. Die XML-Struktur
      4. Die Registerkarten-Ebene
        1. Eine bestehende Registerkarte ausblenden
        2. Das gesamte Menüband ausblenden
        3. Eigene Registerkarten erzeugen (tabs/tab)
        4. Kontextbezogene Registerkarten (tabSet)
      5. Die Gruppen-Ebene
        1. Eine bestehende Gruppen ausblenden (group)
        2. Eine benutzerdefinierte Gruppe erzeugen
      6. Die Steuerelement-Ebene
        1. Eine Schaltfläche anlegen (button)
        2. Eine Schaltfläche mit Office-Bild (imageMso)
        3. Eine Schaltfläche mit eigenem Bild (image)
        4. Eine Trennlinie einfügen (separator)
        5. Office-eigene Schaltflächen verwenden (control)
        6. Microsoft-Gruppe in eine eigene Registerkarte integrieren
        7. Eine Office-eigene Gruppe ersetzen
        8. Ausrichten von Steuerelementen (box)
        9. Beschriftungselemente ohne Aktion (labelControl)
        10. Gruppierungen und Optik (buttonGroup)
        11. Umschaltflächen erzeugen (toggleButton)
        12. Eine unterteilte Schaltfläche (splitButton)
        13. Kontrollkästchen einfügen (checkBox)
        14. Ein Eingabefeld anwenden (editBox)
        15. Ein Kombinationsfeld erstellen (dropDown)
        16. Kombinationsfelder mit Eingaben kreieren (comboBox)
        17. Eine Galerie einsetzen (gallery/item)
        18. Menüs und Untermenüs generieren (menu)
        19. Trennlinie in Menüs einfügen (menuSeparator)
        20. Dynamische Menüs anwenden (dynamicMenu)
      7. Hilfeelemente einbringen
        1. Schaltflächen-Hilfe (screentip und supertip)
        2. Der dialogBoxLauncher
        3. Die Datei-Registerkarte anpassen (backstage)
      8. Den Schnellzugriff anpassen (qat)
    4. 21. Eingabeformulare entwickeln (UserForms)
      1. Ein UserForm erstellen
      2. Farbpaletten verwenden
      3. UserForm aufrufen und schließen
      4. Die Werkzeugsammlung kennen lernen
      5. Ausrichtung von Steuerelementen
      6. Benennung von Steuerelementen und Präfixe
      7. Die Aktivierreihenfolge ändern
      8. Arbeiten mit Rahmen (Frame)
      9. Multiseiten erstellen (MultiPage)
      10. Registerkarten nutzen (TabStrip)
      11. Inaktive und unsichtbare Steuerelemente
      12. Der Einsatz von RefEdit
      13. Listenfelder mit Mehrfachauswahl
      14. Mehrspaltige Listenfelder
      15. Größe und Position von UserForms
      16. Weitere Steuerelemente
        1. Steuerelement-Gruppen erzeugen
        2. UserForm mit Hyperlink
      17. UserForms in der Praxis
        1. Datenerfassung via UserForm
        2. Formatierungen via UserForm
        3. Ein E-Mail-Formular entwickeln
        4. Farbnummern ermitteln
        5. ASCII- und ANSI-Zeichen ermitteln (Chr)
        6. Passwörter verschlüsseln
        7. Thermometer (Celsius/Fahrenheit)
        8. Listenfelder automatisch mit Wochentagen oder Monatsnamen befüllen
        9. Eine Rechentabelle erstellen
        10. Ein dynamischer Fragebogen
  10. VII. Interessantes für Fortgeschrittene
    1. 22. Verschiedene Tipps und Tricks
      1. Verknüpfungen löschen und durch Werte ersetzen
      2. Tabellenübergreifende Suche
        1. Datumssuche
        2. Gefundene Zelladressen ausgeben
      3. Formeln ermitteln
      4. Scrollen verhindern (ScrollArea)
      5. Dateinamen über Dialogfelder ermitteln
        1. Dateiname beim Öffnen zwischenspeichern (GetOpenFilename)
        2. Pfad und Dateiname beim »Speichern unter« zwischenspeichern (GetSaveAsFilename)
      6. Die Zwischenablage
        1. Die Zwischenablage befüllen
        2. Die Zwischenablage leeren
        3. Text aus Zwischenablage auslesen
      7. Über das Namenfeld zu einer Prozedur gelangen
      8. Informationen sammeln
        1. Provider
        2. Klassen
        3. Verbinden mit WMI
        4. Abfragen
      9. Systeminformationen des eigenen Rechners auslesen
        1. UserForm_Initialize
        2. lsbClass_DblClick
        3. WMIInfos
    2. 23. Manipulationen innerhalb des VBA-Editors
      1. Welche VBE-Objekte gibt es?
      2. Ein Objekt referenzieren
      3. Die Arbeit an Modulen
        1. Ein Modul in eine Mappe einfügen
        2. Prüfen, ob ein Modul existiert
        3. Ein Modul aus einer Mappe entfernen
        4. Alle Module einer Mappe auflisten
        5. Alle Module in einen Ordner exportieren
        6. Ein Projekt importieren
        7. Module zwischen Projekten kopieren
      4. Alles rund um Prozeduren
        1. Eine Prozedur in ein Modul einfügen
        2. Prüfen, ob eine Prozedur existiert
        3. Eine Ereignisprozedur erzeugen
        4. Eine Prozedur aus einem Modul entfernen
        5. Alle Prozeduren aus einem Modul entfernen
        6. Sämtlichen VBA-Code eines Projekts entfernen
        7. Alle Prozeduren eines Moduls auflisten
      5. UserForms per Code erstellen
        1. Prüfen, ob ein UserForm vorhanden ist
        2. Ein UserForm löschen
        3. Alle UserForms aus einem Projekt entfernen
        4. Ein leeres UserForm erstellen
        5. Ein UserForm mit einer Schaltfläche erstellen
        6. Ein komplexes UserForm erzeugen
    3. 24. Ein Ausflug in die API-Welt
      1. Grenzen von VBA
      2. API-Funktionen
        1. Die Declare-Anweisung
      3. Grundlagen
        1. Speicherverwaltung
        2. VBA im 64-Bit-Betrieb
        3. Stapel (Stack)
        4. Parameterübergabe
          1. Deklaration
          2. ByVal/ByRef
          3. Strukturen
        5. Datentypen
          1. Nibbles
          2. Little Endian/Big Endian
          3. Vorzeichenlose Datentypen
          4. Präfixe von API-Datentypen
        6. Zeichenketten
        7. Datenfelder (Arrays)
        8. Funktionszeiger
        9. CopyMemory
        10. Datenpuffer
        11. Koordinaten (Größenangaben)
        12. Fenster
          1. Fensternachrichten
          2. Fensterhierarchie
          3. Fensterklasse (Class)
          4. Fenstertitel (Caption)
          5. Fensterstil
          6. Fensterhandle
          7. Devicekontext (DC)
          8. Regionen
          9. Menüs
      4. Beispiele
        1. Liste aller vorhandenen Fenster
          1. Prozedur tglExpand_Click
          2. Prozedur ExpandedNodes
          3. Ereignisprozedur cmdRead_Click
          4. Funktion StringVonAsciiZ
          5. Funktion FensterInfos
          6. Funktion GetExeFromWindow
        2. UserForms und Regionen
          1. Ereignis UserForm_Activate
          2. Funktion GetWindowHandle
          3. Funktion CreateRegion1
          4. Funktion CreateRegion2
          5. Prozedur UserForm_MouseDown
          6. Prozedur UserForm_Terminate
        3. UserForms und Fensterstile
          1. Klickereignisse der Kontrollkästchen (chkMinimizebox, chkMaximizebox, chkSysmenu, chkTitle, chkResize)
          2. Funktion GetWindowHandle
          3. Ereignis UserForm_Initialize
          4. Ereignis UserForm_QueryClose
          5. Prozedur StilAnpassen
        4. UserForm mit Menü
          1. Ereignis UserForm_Initialize
          2. Ereignis UserForm_Terminate
          3. Ereignis UserForm_QueryClose
          4. Funktion GetWindowHandle
          5. Prozedur MakeMenu
            1. Menüpunkt Datei
            2. Menüpunkt Datei/Beenden
            3. Menüpunkt?
            4. Menüpunkt ?/Hilfe
            5. Menüpunkt ?/Über
            6. Verbinden mit der UserForm
            7. Umleiten der WindowProc
          6. Funktion NewProc
        5. UserForm als Zeichenfläche
          1. Ereignis UserForm_Activate
          2. Funktion GetWindowHandle
          3. Funktion CopyToClip
          4. Prozedur BadForm
    4. 25. Klassenprogrammierung
      1. Objektorientiertes Programmieren
      2. Klassen und Objekte
        1. Methoden einer Klasse
        2. Beispielklasse entwerfen
        3. Planung der Beispielklasse
        4. Anlegen der Beispielklasse
        5. Programmieren der Beispielklasse
          1. Eigenschaften der Beispielklasse
          2. Methoden der Beispielklasse
          3. Allgemeine Funktionalität der Beispielklasse
        6. Benutzen der Beispielklasse
          1. Instanzierung
          2. Zugriff auf Eigenschaften und Methoden der Beispielklasse
      3. Klassen und Ereignisse
        1. Vordefinierte Ereignisprozeduren
        2. Ereignisprozeduren mit WithEvents
          1. WithEvents
        3. Ereignisprozeduren vervielfältigen
        4. Textfelder in Tabellenblättern überwachen
      4. Zusammenfassung
        1. Vorteile von Klassen
        2. Nachteile von Klassen
        3. Planung von Klassen
        4. Hinzufügen eines Klassenmoduls
        5. Der Code im Klassenmodul
          1. Eigenschaften
          2. Methoden
          3. Parameterübergabe, Eigenschaftswerte
          4. Ereignisse Class_Initialize und Class_Terminate
          5. Ereignisprozeduren mit WithEvents
        6. Klassen/Objekte
          1. Objekte aus Klassen erzeugen
          2. Objekte zerstören
  11. VIII. Kommunikation mit der Außenwelt
    1. 26. Internet und E-Mail per VBA steuern
      1. Hyperlinks erstellen
        1. Interne und externe Hyperlinks
        2. Hyperlinks aus Tabellenblattnamen erzeugen
        3. Schaltfläche mit Hyperlink
        4. Hyperlinks an Zellen bestimmten Inhalts zuweisen
        5. Hyperlinks ersetzen
        6. Hyperlinks entfernen
        7. E-Mail-Adressen einfügen
        8. E-Mail-Adressen entfernen
      2. E-Mails versenden
        1. Eine E-Mail versenden
        2. Eine E-Mail mit Anhang versenden
        3. Eine E-Mail mit HTML-Tags
        4. Einen Bereich versenden
        5. Einen Bereich als Anhang versenden
        6. Eine Serien-E-Mail versenden
      3. Webabfragen ausführen
        1. Eine Webabfrage per VBA erzeugen
        2. Webabfragen aktualisieren
        3. Webabfragen löschen
      4. Excel-Datei als Webseite abspeichern
      5. Nach HTML konvertieren
    2. 27. XML und XSL(T) erforschen
      1. XML in Verbindung mit Excel anwenden
        1. Wann wird XML eingesetzt?
        2. Eine Excel-Datei im .xml-Format abspeichern
        3. Eine XML-Datei manuell erzeugen
        4. XML-Liste importieren
        5. XML-Listen exportieren
        6. XML in einer schreibgeschützten Arbeitsmappe
        7. Aufgabenbereich XML-Quelle verwenden
        8. Exportmechanismus per VBA programmieren
      2. XSL(T) – Externe Formatvorlagen erstellen
      3. XML-SS-Schemas – Integrierte Formatierungen verwenden
    3. 28. Schnittstellen zu anderen Microsoft-Anwendungen
      1. Objekte aus externen Applikationen verwenden
        1. Early Binding
        2. Late Binding
      2. Zusammenarbeit mit Word
        1. Daten nach Word exportieren
        2. Word-Daten importieren
        3. Ein Word-Dokument mit Formatierungen
      3. Kommunikation mit PowerPoint
        1. Daten nach PowerPoint exportieren
        2. PowerPoint-Daten importieren
      4. Datenaustausch mit Access
        1. Daten nach Access exportieren
        2. Daten aus Access importieren
      5. Auf Outlook zugreifen
        1. Den Posteingang auslesen
        2. Kalender auslesen
        3. Kontakte auslesen
      6. Der Umgang mit Textdateien
        1. Daten nach Textdatei exportieren
        2. Daten aus einer Textdatei importieren
        3. Eine bestehende Textdatei ergänzen
      7. Zusammenarbeit mit dem Windows-Explorer
        1. Windows-Befehle ohne FSO
      8. Verzeichnisse verwalten
        1. Aktuelles Verzeichnis abfragen
        2. Prüfen, ob ein Pfad existiert
        3. Ein Verzeichnis wechseln
        4. Ein Verzeichnis relativ wechseln
        5. Ein Verzeichnis anlegen
        6. Ein Verzeichnis löschen
        7. Ein Verzeichnis verschieben
        8. Ein Verzeichnis kopieren
        9. Systeminformationen zu einer Datei auslesen
      9. Dateien verwalten
        1. Ermitteln, ob eine Datei existiert
        2. Dateien löschen
          1. Sämtliche Dateien eines Verzeichnisses löschen
        3. Dateien umbenennen
        4. Dateien verschieben
        5. Eine Datei kopieren
      10. Nützliche Helfer
        1. Kontrollieren, ob ein Wechseldatenträger eingelegt ist
        2. Freien Speicherplatz ermitteln
    4. 29. Über den Tellerrand hinaus: Anwendungen mit .NET und VSTO
      1. Die Möglichkeiten
      2. .NET Framework
        1. Benötigte Tools
        2. Erste Applikation
        3. Weitere Quellen
      3. Excel-Automatisierung
        1. Anwendungen fernsteuern
        2. Was kann ich noch machen?
        3. Weiterführende Informationen
      4. Open XML
        1. Das Open XML-Format
        2. Die Open XML Tools
        3. Ein Dokument selbst erstellen
        4. Das erste Dokument auslesen
        5. Was geht damit noch?
      5. Visual Studio Tools for Office
        1. Wie funktionieren Add-Ins?
        2. Das erste Add-In
        3. Auf das Dokument zugreifen
        4. Eigene Steuerelemente
        5. Menüband (Ribbons)
        6. Wie geht’s weiter?
      6. Zusammenfassung
  12. IX. Anhang
    1. A. Präfixe, Konstanten, Datentypen und mehr
      1. Präfixe
        1. Präfixe zu Modulen
        2. Präfixe zu Datentypen
        3. Präfixe zu Elementen der Steuerelement-Toolbox
        4. Präfixe zu UserForm-Objekten
      2. Datentypen prüfen
      3. Umwandlungsfunktionen
      4. Datum und Zeit
        1. Weekday
        2. Format-Funktion
        3. DateDiff
      5. Funktionskategorien
      6. SpecialCells
      7. Farbkonstanten
      8. Tastenkombinationen für Makros
        1. Belegte Tastenkombinationen
        2. Frei verfügbare Tastenkombinationen
      9. Tastenkombinationen (OnKey)
      10. Operatoren und Kriterien für den Autofilter
      11. Gültigkeit
      12. Objekttypen (Shapes)
      13. RibbonX-Steuerelemente
      14. RibbonX-Eigenschaften
      15. RibbonX-Ereignisse (Callbacks)
      16. RibbonX-Kombinationsmöglichkeiten
    2. B. Die Beispieldateien zum Buch
  13. Stichwortverzeichnis