Excel 2016 programmieren - Abläufe automatisieren, (Office-)Add-ins und Anwendungen entwickeln

Michael Kofler, Ralf Nebelo

Excel 2016 programmieren

Abläufe automatisieren, (Office-)Add-ins und Anwendungen entwickeln

2016

882 Seiten

Format: PDF, ePUB, Online Lesen

E-Book: €  39,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446450080

 

Inhalt

6

Vorwort

15

Konzeption des Buchs

19

TEIL I: Intuitiver Einstieg

22

1 Das erste Makro

24

1.1 Begriffsdefinition

24

1.2 Was ist Visual Basic für Applikationen?

27

1.3 Beispiel: eine Formatvorlage mit einem Symbol verbinden

28

1.4 Beispiel: Makro zur Eingabeerleichterung

34

1.5 Beispiel: einfache Literaturdatenbank

36

1.6 Beispiel: Formular zur Berechnung der Verzinsung von Spareinlagen

42

1.7 Beispiel: benutzerdefinierte Funktionen

47

1.8 Beispiel: Analyse komplexer Tabellen

48

1.9 Beispiel: Vokabeltrainer

49

1.10 Weitere Beispiele zum Ausprobieren

55

2 Neuerungen in Excel 2007 bis 2016

62

2.1 Die Benutzeroberfläche RibbonX

63

2.2 Neue Programmfunktionen

66

2.3 Office-Add-ins

70

2.4 Neues in Sachen Programmierung

72

2.4.1 Kompatibilitätskrücke Add-ins-Register

73

2.4.2 Zu- und Abgänge im Objektmodell

74

2.4.3 Anpassen der Benutzeroberfläche

75

2.4.4 Die Grenzen von VBA

76

2.5 Probleme und Inkompatibilitäten

77

TEIL II: Grundlagen

80

3 Entwicklungsumgebung

82

3.1 Komponenten von VBA-Programmen

82

3.2 Komponenten der Entwicklungsumgebung

83

3.3 Codeeingabe in Modulen

90

3.4 Makros ausführen

94

3.5 Makroaufzeichnung

95

3.6 Tastenkürzel

97

4 VBA-Konzepte

100

4.1 Variablen und Felder

100

4.1.1 Variablenverwaltung

100

4.1.2 Felder

105

4.1.3 Syntaxzusammenfassung

108

4.2 Prozedurale Programmierung

110

4.2.1 Prozeduren und Parameter

110

4.2.2 Gültigkeitsbereich von Variablen und Prozeduren

119

4.2.3 Verzweigungen (Abfragen)

123

4.2.4 Schleifen

126

4.2.5 Syntaxzusammenfassung

129

4.3 Objekte

132

4.3.1 Der Umgang mit Objekten, Methoden und Eigenschaften

132

4.3.2 Der Objektkatalog (Verweise)

138

4.3.3 Übersichtlicher Objektzugriff durch das Schlüsselwort With

141

4.3.4 Objektvariablen

142

4.3.5 Syntaxzusammenfassung

144

4.4 Ereignisse

145

4.4.1 Ereignisprozeduren

146

4.4.2 Ereignisprozeduren deaktivieren

149

4.4.3 Überblick über wichtige Excel-Ereignisse

150

4.4.4 Ereignisse beliebiger Objekte empfangen

155

4.4.5 Ereignisprozeduren per Programmcode erzeugen

157

4.4.6 Syntaxzusammenfassung

159

4.5 Programmierung eigener Klassen

162

4.5.1 Eigene Methoden, Eigenschaften und Ereignisse

164

4.5.2 Collection-Objekt

167

4.5.3 Beispiel für ein Klassenmodul

168

4.5.4 Beispiel für abgeleitete Klassen (Implements)

170

4.5.5 Eine Klasse als FileSearch-Ersatz

174

4.5.6 Syntaxzusammenfassung

181

4.6 Operatoren in VBA

182

4.7 Virenschutz

185

4.7.1 Vorhandene Schutzmaßnahmen nutzen

186

4.7.2 Viren selbst entdecken

189

4.7.3 Vertrauenswürdige Makros ohne Einschränkungen ausführen

189

5 Programmiertechniken

192

5.1 Zellen und Zellbereiche

192

5.1.1 Objekte, Methoden, Eigenschaften

192

5.1.2 Anwendungsbeispiele

207

5.1.3 Syntaxzusammenfassung

216

5.2 Arbeitsmappen, Fenster und Arbeitsblätter

218

5.1.4 Objekte, Methoden und Eigenschaften

219

5.1.5 Anwendungsbeispiele

225

5.1.6 Syntaxzusammenfassung

229

5.3 Datentransfer über die Zwischenablage

231

5.3.1 Zellbereiche kopieren, ausschneiden und einfügen

231

5.3.2 Zugriff auf die Zwischenablage mit dem DataObject

233

5.3.3 Syntaxzusammenfassung

234

5.4 Umgang mit Zahlen und Zeichenketten

235

5.4.1 Numerische Funktionen, Zufallszahlen

235

5.4.2 Zeichenketten

237

5.4.3 Umwandlungsfunktionen

242

5.4.4 Syntaxzusammenfassung

244

5.5 Rechnen mit Datum und Uhrzeit

246

5.5.1 VBA-Funktionen

250

5.5.2 Tabellenfunktionen

252

5.5.3 Anwendungs- und Programmiertechniken

253

5.5.4 Feiertage

256

5.5.5 Syntaxzusammenfassung

262

5.6 Umgang mit Dateien, Textimport/-export

263

5.6.1 File System Objects – Überblick

264

5.6.2 Laufwerke, Verzeichnisse und Dateien

266

5.6.3 Textdateien (TextStream)

272

5.6.4 Binärdateien (Open)

274

5.6.5 Excel-spezifische Methoden und Eigenschaften

278

5.6.6 Textdateien importieren und exportieren

281

5.6.7 Textexport für Mathematica-Listen

289

5.6.8 Syntaxzusammenfassung

294

5.7 Benutzerdefinierte Tabellenfunktionen

298

5.7.1 Grundlagen

298

5.7.2 Beispiele

305

5.8 Schutzmechanismen

307

5.8.1 Bewegungsradius einschränken

308

5.8.2 Zellen, Tabellenblätter und Arbeitsmappen schützen

309

5.8.3 Schutzmechanismen für den gemeinsamen Zugriff

313

5.8.4 Programmcode und Symbolleiste schützen

314

5.8.5 Syntaxzusammenfassung

315

5.9 Konfigurationsdateien, individuelle Konfiguration

316

5.9.1 Optionen

316

5.9.2 Optionseinstellungen per Programmcode

317

5.9.3 Konfigurationsdateien

320

5.10 Tipps und Tricks

328

5.10.1 Geschwindigkeitsoptimierung

328

5.10.2 Zeitaufwendige Berechnungen

329

5.10.3 Effizienter Umgang mit Tabellen

333

5.10.4 Zusammenspiel mit Excel-4-Makros

335

5.10.5 Excel-Version feststellen

336

5.10.6 Hilfe zur Selbsthilfe

336

5.10.7 Syntaxzusammenfassung

338

6 Fehlersuche und Fehlerabsicherung

340

6.1 Hilfsmittel zur Fehlersuche (Debugging)

340

6.1.1 Syntaxkontrolle

340

6.1.2 Reaktion auf Fehler

341

6.1.3 Kontrollierte Programmausführung

344

6.2 Fehlertolerantes Verhalten von Programmen

346

6.3 Reaktion auf Programmunterbrechungen

351

6.4 Syntaxzusammenfassung

352

7 Dialoge

354

7.1 Vordefinierte Dialoge

354

7.1.1 Excel-Standarddialoge

354

7.1.2 Die Funktionen MsgBox und InputBox

358

7.1.3 Die Methode Application.InputBox

358

7.2 Selbst definierte Dialoge

360

7.2.1 Veränderungen gegenüber Excel 5/7

361

7.2.2 Einführungsbeispiel

363

7.3 Der Dialogeditor

367

7.4 Die MS-Forms-Steuerelemente

371

7.4.1 Beschriftungsfeld (Label)

372

7.4.2 Textfeld (TextBox)

373

7.4.3 Listenfeld (ListBox) und Kombinationslistenfeld (ComboBox)

376

7.4.4 Kontrollkästchen (CheckBox) und Optionsfelder (OptionButton)

382

7.4.5 Buttons (CommandButton) und Umschaltbuttons (ToggleButton)

383

7.4.6 Rahmenfeld (Frame)

384

7.4.7 Multiseiten (MultiPage), Register (TabStrip)

386

7.4.8 Bildlaufleiste (ScrollBar) und Drehfeld (SpinButton)

390

7.4.9 Anzeige (Image)

392

7.4.10 Formelfeld (RefEdit)

393

7.4.11 Das UserForm-Objekt

395

7.5 Steuerelemente direkt in Tabellen verwenden

398

7.6 Programmiertechniken

405

7.6.1 Zahleneingabe

405

7.6.2 Dialoge gegenseitig aufrufen

407

7.6.3 Dialoge dynamisch verändern

409

7.6.4 Umgang mit Drehfeldern

411

8 Die Benutzeroberfläche von Excel 2016

414

8.1 Menüs und Symbolleisten

414

8.1.1 Manuelle Bearbeitung von Menüs und Symbolleisten

416

8.1.2 Programmierte Veränderung von Menüs und Symbolleisten

422

8.1.3 Programmiertechniken

427

8.1.4 Blattwechsel über die Symbolleiste

430

8.1.5 Excel-Anwendungen in Befehlsleisten integrieren

433

8.1.6 Syntaxzusammenfassung

438

8.2 Das Menüband

439

8.2.1 Manuelle Anpassung des Menübands

440

8.2.2 Programmierte Anpassung des Menübands

444

8.2.3 RibbonX-Controls

451

8.2.4 Erweiterte Programmiertechniken

464

8.2.5 Klassische Menüs und Symbolleisten nachbilden

470

8.2.6 Anpassungen permanent verfügbar machen

473

8.2.7 Syntaxzusammenfassung

474

8.3 Die Symbolleiste für den Schnellzugriff

476

8.3.1 Symbolleiste für den Schnellzugriff manuell anpassen

476

8.3.2 Symbolleiste für den Schnellzugriff programmiert anpassen

478

8.3.3 Syntaxzusammenfassung

479

8.4 Kontextmenüs

479

8.4.1 Kontextmenüs programmiert anpassen

480

8.4.2 Syntaxzusammenfassung

482

8.5 Die Backstage-Ansicht

483

8.5.1 Grundlagen der Programmierung

483

8.5.2 Backstage-spezifische Steuerelemente

484

8.5.3 Befehle in den FastCommand-Bereich einfügen

485

8.5.4 Eigene Backstage-Tabs anlegen

486

8.5.5 Excel-eigene Backstage-Tabs anpassen

491

8.5.6 Syntaxzusammenfassung

494

TEIL III: Anwendung

496

9 Mustervorlagen und „intelligente“ Formulare

498

9.1 Grundlagen

498

9.1.1 Gestaltungselemente für „intelligente“ Formulare

500

9.1.2 Mustervorlagen mit Datenbankanbindung

506

9.2 Beispiel: Das „Speedy“-Rechnungsformular

509

9.3 Beispiel: Abrechnungsformular für einen Car-Sharing-Verein

517

9.4 Grenzen „intelligenter“ Formulare

524

10 Diagramme und Zeichnungsobjekte

526

10.1 Umgang mit Diagrammen

526

10.1.1 Grundlagen

526

10.1.2 Diagrammtypen

527

10.1.3 Diagrammelemente (Diagrammobjekte) und Formatierungsmöglichkeiten

528

10.1.4 Ausdruck

532

10.2 Programmierung von Diagrammen

532

10.2.1 Objekthierarchie

533

10.2.2 Programmiertechniken

537

10.3 Beispiel: Automatische Datenprotokollierung

542

10.3.1 Die Bedienung des Beispielprogramms

543

10.3.2 Programmcode

544

10.4 Syntaxzusammenfassung

555

10.5 Die Zelldiagramme der Bedingten Formatierung

556

10.5.1 Programmierung von Datenbalkendiagrammen

558

10.5.2 Programmierung von Farbskalendiagrammen

559

10.5.3 Programmierung von Symbolsatzdiagrammen

561

10.5.4 Syntaxzusammenfassung

563

10.6 Sparklines-Diagramme

564

10.6.1 Programmierung von Sparklines-Diagrammen

565

10.6.2 Syntaxzusammenfassung

569

10.7 SmartArt-Diagramme

569

10.7.1 Programmierung von SmartArt-Diagrammen

570

10.7.2 Benutzerdefinierte SmartArt-Diagramme

575

10.7.3 Syntaxzusammenfassung

576

10.8 Neue Diagrammtypen in Excel 2016

577

10.8.1 Programmierung von Wasserfall-Diagrammen

577

10.8.2 Programmierung von Histogrammen

579

10.8.3 Programmierung von Pareto-Diagrammen

581

10.8.4 Programmierung von Kastengrafik-Diagrammen

582

10.8.5 Programmierung von Treemap-Diagrammen

584

10.8.6 DirectoryMap – Inhaltsverzeichnisse visualisieren

585

10.8.7 Programmierung von Sunburst-Diagrammen

589

10.9 Zeichnungsobjekte (Shapes)

591

11 Datenverwaltung in Excel

596

11.1 Grundlagen

596

11.1.1 Einleitung

597

11.1.2 Kleines Datenbankglossar

598

11.1.3 Excel versus Datenbanksysteme

599

11.2 Datenverwaltung innerhalb von Excel

601

11.2.1 Eine Datenbank in Excel erstellen

601

11.2.2 Daten über die Datenbankmaske eingeben, ändern und löschen

604

11.2.3 Daten sortieren, suchen, filtern

606

11.3 Datenverwaltung per VBA-Code

613

11.3.1 Programmiertechniken

613

11.3.2 Syntaxzusammenfassung

616

11.4 Datenbank-Tabellenfunktionen

617

11.5 Tabellen konsolidieren

620

11.5.1 Grundlagen

620

11.5.2 Konsolidieren per VBA-Code

623

11.6 Beispiel: Abrechnung eines Car-Sharing-Vereins

624

11.6.1 Bedienung

624

11.6.2 Überblick über die Komponenten der Anwendung

627

11.6.3 Programmcode

629

12 Zugriff auf externe Daten

638

12.1 Grundkonzepte relationaler Datenbanken

638

12.2 Import externer Daten

644

12.2.1 Datenimport mit Power Query

645

12.2.2 Datenimport mit MS Query

653

12.2.3 Das QueryTable-Objekt

664

12.2.4 Excel-Daten exportieren

667

12.3 Datenbankzugriff mit der ADO-Bibliothek

668

12.3.1 Einführung

668

12.3.2 Verbindungsaufbau (Connection)

673

12.3.3 Datensatzlisten (Recordset)

676

12.3.4 SQL-Kommandos (Command)

683

12.3.5 SQL-Grundlagen

684

12.3.6 Syntaxzusammenfassung

687

12.4 Beispiel: Fragebogenauswertung

689

12.4.1 Überblick

689

12.4.2 Aufbau des Fragebogens

692

12.4.3 Aufbau der Datenbank

694

12.4.4 Programmcode

696

13 Datenanalyse in Excel

706

13.1 Daten gruppieren (Teilergebnisse)

706

13.1.1 Einführung

706

13.1.2 Programmierung

708

13.2 Pivot-Tabellen (Kreuztabellen)

710

13.2.1 Einführung

710

13.2.2 Gestaltungsmöglichkeiten

714

13.2.3 Pivot-Tabellen für externe Daten

719

13.2.4 Pivot-Tabellenoptionen

723

13.2.5 Pivot-Diagramme

724

13.3 Programmiertechniken

724

13.3.1 Pivot-Tabellen erzeugen und löschen

725

13.3.2 Aufbau und Bearbeitung vorhandener Pivot-Tabellen

729

13.3.3 Interne Verwaltung (PivotCache)

733

13.3.4 Syntaxzusammenfassung

739

14 XML- und Listenfunktionen

742

14.1 Bearbeitung von Listen

742

14.2 XML-Grundlagen

744

14.3 XML-Funktionen interaktiv nutzen

747

14.4 XML-Programmierung

751

15 Excel-Programmierung für Fortgeschrittene

758

15.1 Excel-Add-ins

758

15.2 Excel und das Internet

763

15.2.1 Excel-Dateien als E-Mail versenden

763

15.2.2 HTML-Import

765

15.2.3 HTML-Export

766

15.3 Smart Tags

768

15.4 Web Services nutzen

771

15.5 Dynamic Link Libraries (DLLs) verwenden

777

15.6 ActiveX-Automation (COM)

782

15.6.1 Excel als Client (Steuerung fremder Programme)

783

15.6.2 Excel als Server (Steuerung durch fremde Programme)

789

15.6.3 Neue Objekte für Excel (ClipBoard-Beispiel)

793

15.6.4 Object Linking and Embedding (OLE)

795

15.6.5 Automation und Visual Basic .NET

799

15.6.6 Programme ohne ActiveX starten und steuern

807

15.6.7 Syntaxzusammenfassung

809

15.7 64-Bit-Programmierung

810

15.7.1 Kompatibilitätsprobleme

810

15.7.2 Ein problematisches (32-Bit-)Beispiel

811

15.7.3 Syntaxzusammenfassung

816

15.8 Visual Studio Tools for Office

817

15.8.1 Bestandsaufnahme: die Grenzen von VBA

817

15.8.2 VSTO: Profi-Werkzeug für Profi-Entwickler

818

15.8.3 Grundlagen des VSTO-Einsatzes

820

15.8.4 Beispielprojekte

824

15.8.4.1 Individuelle Aufgabenbereiche anlegen

824

15.8.4.2 Anpassen des Menübands

826

15.8.4.3 Abfragen von Web Services

829

15.9 Office-Add-ins

832

15.9.1 Bestandteile eines Office-Add-ins

833

15.9.2 Typen von Office-Add-ins

834

15.9.3 Werkzeuge für die Entwicklung von Office-Add-ins

836

15.9.4 Beispiel 1: SimpleApp

836

15.9.5 Das JavaScript-API für Office

843

15.9.6 Beispiel 2: ComplexApp

847

Anhang

852

A Inhalte der Download-Dateien zum Buch

852

A.1 Objektreferenz

852

A.2 Hyperlinks

852

A.3 Beispieldateien

853

B Verwendete Literatur

853

C Nachweis der Grafiken & Icons

854

Stichwortverzeichnis

856

 

© 2009-2019 ciando GmbH