Theis | Einstieg in VBA mit Excel | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 463 Seiten

Reihe: Rheinwerk Computing

Theis Einstieg in VBA mit Excel

Für Excel 2016 bis 2021 und Microsoft 365
6. Auflage 2022
ISBN: 978-3-8362-9061-6
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Für Excel 2016 bis 2021 und Microsoft 365

E-Book, Deutsch, 463 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-9061-6
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Makros programmieren und Aufgaben in Excel automatisieren: So geht’s!

Sie möchten Excel an Ihre Bedürfnisse anpassen , Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles andere mehr? Dieses Buch zeigt Ihnen, wie Sie Ihr Ziel schnell und einfach mit VBA erreichen. Ganz ohne Vorkenntnisse. Unser Autor Thomas Theis führt Sie Schritt für Schritt an die Thematik heran und zeigt Ihnen anhand von zahlreichen Praxisbeispielen, wie Sie Makros für die verschiedensten Anwendungszwecke erstellen.

  • Eigene Excel-Funktionen mit VBA entwickeln
  • Keine Programmierkenntnisse erforderlich
  • Mit vielen Übungsaufgaben und Musterlösungen

Aus dem Inhalt:

  • Erste Schritte
  • Makros aufzeichnen & anpassen
  • Objekte & Ereignisse
  • Grundlagen von VBA
  • Fehler finden & vermeiden
  • VBA für Fortgeschrittene
  • Diagramme & Grafiken
  • VBA- & Worksheet-Funktionen
  • Daten im- & exportieren
  • Auf Access, Outlook & Word zugreifen
  • Ein- & Ausgabedialoge entwickeln
  • VBA in der Praxis
  • Übungen & Lösungen
  • Viele Beispielprojekte
Theis Einstieg in VBA mit Excel jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material




  Materialien zum Buch ... 16


  Geleitwort des Fachgutachters ... 17


  1.  Einführung ... 19


       1.1 ... Was wird besser durch Makros und VBA? ... 19

       1.2 ... Mit Makros arbeiten ... 21

       1.3 ... Visual Basic Editor ... 31

       1.4 ... Makrocode verstehen und ändern ... 34

       1.5 ... Makro per Schaltfläche ausführen ... 36

       1.6 ... Relative Verweise verwenden ... 37

       1.7 ... Persönliche Makroarbeitsmappe ... 39

       1.8 ... Code schreiben für einfache Ausgaben ... 40

       1.9 ... Microsoft 365 ... 44

       1.10 ... Web-Apps ... 45



  2.  Grundlagen von Objekten und Ereignissen ... 47


       2.1 ... Objekthierarchie und Auflistungen ... 47

       2.2 ... Arbeitsmappen bearbeiten ... 48

       2.3 ... Tabellenblätter bearbeiten ... 56

       2.4 ... Auf Zellen und Zellbereiche zugreifen ... 63

       2.5 ... Ereignisprozeduren schreiben ... 88



  3.  Grundlagen der Programmierung mit VBA ... 93


       3.1 ... Allgemeines ... 93

       3.2 ... Variablen und Datentypen ... 95

       3.3 ... Operatoren ... 103

       3.4 ... Verzweigungen ... 113

       3.5 ... Schleifen ... 118



  4.  Fehlerbehandlung ... 131


       4.1 ... Eine Anwendung entwickeln ... 131

       4.2 ... Syntaxfehler ... 132

       4.3 ... Laufzeitfehler ... 133

       4.4 ... Logische Fehler und Debugging ... 137



  5.  Mehr über die Programmierung mit VBA ... 141


       5.1 ... Gültigkeitsbereiche ... 141

       5.2 ... Datenfelder ... 143

       5.3 ... Prozeduren und Funktionen ... 154

       5.4 ... Benutzerdefinierter Datentyp ... 171

       5.5 ... Modular programmieren ... 174

       5.6 ... Module exportieren und importieren ... 177



  6.  Mehr über Objekte ... 181


       6.1 ... Objektkatalog ... 181

       6.2 ... Objekte referenzieren ... 182

       6.3 ... Mit »With« auf Objekte zugreifen ... 184

       6.4 ... Mit Objektvariablen arbeiten ... 185

       6.5 ... For-Each-Schleife ... 190

       6.6 ... Collections ... 192

       6.7 ... Hauptobjekt »Application« ... 193

       6.8 ... Filtern ... 195



  7.  Diagramme und Grafiken ... 199


       7.1 ... Diagramm erstellen ... 200

       7.2 ... Diagramm ändern ... 204

       7.3 ... Diagramm verwalten ... 208

       7.4 ... Beispiel: Formatiertes Kreisdiagramm ... 211

       7.5 ... Shapes ... 214

       7.6 ... WordArt ... 224

       7.7 ... Bedingte Formatierungen ... 226

       7.8 ... Sparklines ... 232

       7.9 ... SmartArt ... 236

       7.10 ... Grafiken aus Bilddateien ... 237



  8.  VBA- und Worksheet-Funktionen ... 243


       8.1 ... Formeln zuweisen und lesen ... 244

       8.2 ... Benutzereingaben ... 246

       8.3 ... Einfacher Dialog mit dem Benutzer ... 251

       8.4 ... Zeichenketten ... 259

       8.5 ... Datum und Uhrzeit ... 265

       8.6 ... Weitere Funktionen ... 273



  9.  Externe Daten ... 281


       9.1 ... Ein Überblick ... 281

       9.2 ... Einfache Textdateien ... 282

       9.3 ... CSV-Dateien ... 286

       9.4 ... Dateien mit wahlfreiem Zugriff ... 289

       9.5 ... Mit Dateien arbeiten ... 295

       9.6 ... Daten mit MS Word austauschen ... 301

       9.7 ... Daten mit MS Outlook austauschen ... 311

       9.8 ... Daten mit MS Access austauschen ... 332

       9.9 ... Export in PDF-Dateien ... 347



10.  Dialogfelder ... 355


       10.1 ... Integrierte Dialogfelder ... 355

       10.2 ... Eigene Dialogfelder ... 359

       10.3 ... Mit Steuerelementen arbeiten ... 363



11.  Funktionen aus Excel 2021 ... 377


       11.1 ... Gleichmäßige Abfolge von Werten ... 377

       11.2 ... Bereich mit zufälligen Werten ... 379

       11.3 ... Alle unterschiedlichen Werte ... 382

       11.4 ... Zellbereich filtern ... 384

       11.5 ... Zellbereich sortieren ... 387



12.  Beispielprojekte ... 391


       12.1 ... Memory ... 391

       12.2 ... Snake ... 400

       12.3 ... Vokabeln ... 409

       12.4 ... Puzzle ... 416



  A.  Lösungen der Übungsaufgaben ... 429


  Index ... 449


1.2    Mit Makros arbeiten


Zu Beginn erstellen wir ein einfaches Makro, das anschließend ausgeführt wird. Hinterher werfen wir einen ersten Blick auf den VBA-Code.

Das Thema Makrosicherheit, also die Sicherheit vor fremden Makros, die schädlichen Code enthalten können, spielt eine große Rolle. Diese Thematik werde ich in Abschnitt 1.2.5, »Makrosicherheit ändern«, erläutern.

Excel-Dateien können sowohl mit als auch ohne Makros gespeichert werden. Darauf werde ich in Abschnitt 1.2.4, »Makro speichern«, eingehen.

Die in diesem Kapitel erläuterte Bedienung gilt für Excel 2016 bis Excel 2021. Die weitaus meisten Beispiele in diesem Buch laufen auch unter noch älteren Versionen. Sämtliche Beispiele finden Sie in den Materialien, die Sie über www.rheinwerk-verlag.de/5546 erreichen.

1.2.1    Makro aufzeichnen


Mithilfe der folgenden Beschreibung erstellen Sie ein einfaches Makro zur Verschiebung des Inhalts von Zelle A1 in Zelle C1. Das Beispiel dient einer ersten Verdeutlichung der Abläufe, noch ohne VBA:

  1. Starten Sie Excel.

  2. Sie haben eine leere Arbeitsmappe vor sich. Tragen Sie in Zelle A1 einen beliebigen Inhalt (Zahl oder Text) ein (siehe Abbildung 1.1).

    Abbildung 1.1     Zelle, deren Inhalt verschoben wird

  3. Betätigen Sie auf der Registerkarte Ansicht den unteren Teil der Schaltfläche Makros, der mit einem Pfeil gekennzeichnet ist. Es klappt ein kleines Untermenü auf, siehe Abbildung 1.2.

    Abbildung 1.2     Menü »Ansicht • Makros«, Untermenü

  4. Wählen Sie den Menüpunkt Makro aufzeichnen. Es erscheint das Dialogfeld Makro aufzeichnen (siehe Abbildung 1.3). Wählen Sie in der Liste Makro speichern in: den Eintrag Diese Arbeitsmappe, falls diese Option noch nicht eingestellt ist.

    Abbildung 1.3     Makro mit dem Namen »Makro1«

  5. Der vorgeschlagene Makroname lautet Makro1. Diesen können Sie beibehalten.

  6. Betätigen Sie die Schaltfläche OK. Ab jetzt werden alle Aktionen, die Sie ausführen, aufgezeichnet.

  7. Wählen Sie Zelle A1 aus.

  8. Schneiden Sie den Inhalt von Zelle A1 aus, zum Beispiel mit (Strg)+(X).

  9. Wählen Sie Zelle C1 aus.

  10. Fügen Sie den Inhalt von Zelle A1 ein, zum Beispiel mit (Strg)+(V).

  11. Damit wurde der Inhalt von Zelle A1 in Zelle C1 verschoben (siehe Abbildung 1.4).

  12. Klappen Sie in der Registerkarte Ansicht wiederum über den Pfeil auf der Schaltfläche Makros das Menü auf.

  13. Wählen Sie den Menüpunkt Aufzeichnung beenden. Damit wird die Aufzeichnung Ihrer Aktionen beendet.

  14. Sie haben damit soeben Ihr erstes Makro erfolgreich erstellt.

Speichern Sie die Datei an dieser Stelle noch nicht.

Abbildung 1.4     Zellen nach der Verschiebung

Das Aufzeichnen geht etwas schneller, wenn Sie auf der Excel-Oberfläche das entsprechende Symbol in der Statusleiste betätigen (siehe Abbildung 1.5).

Abbildung 1.5     Symbol zum Starten einer Makroaufzeichnung

Nach Beginn der Aufzeichnung erscheint an der gleichen Stelle das Symbol zum Beenden der Aufzeichnung (siehe Abbildung 1.6).

Abbildung 1.6     Symbol zum Beenden einer Makroaufzeichnung

Übung »Makro aufzeichnen«

Tragen Sie eine Zahl oder einen Text in Zelle E3 ein. Zeichnen Sie ein Makro auf, das den Inhalt von Zelle E3 in Zelle E5 kopiert. Nennen Sie das Makro KopieE3E5.

1.2.2    Makro ausführen


Das soeben erstellte Makro Makro1 wird nun ausgeführt. Gehen Sie dazu wie folgt vor:

  1. Tragen Sie in Zelle A1 einen beliebigen Inhalt ein (Zahl oder Text). Wählen Sie anschließend Zelle A1 aus.

  2. Klappen Sie auf der Registerkarte Ansicht über den Pfeil unten auf der Schaltfläche Makros das Menü auf.

  3. Wählen Sie den Menüpunkt Makros anzeigen.

  4. Es erscheint das Dialogfeld Makro mit einer Liste der bisher erstellten Makros. Wählen Sie in der Liste das Makro Makro1 aus.

  5. Betätigen Sie die Schaltfläche Ausführen.

  6. Der Inhalt von Zelle A1 wird wiederum in Zelle C1 verschoben.

Damit haben Sie Ihr erstes Makro erfolgreich ausgeführt.

Übung »Makro ausführen«

Tragen Sie einen neuen Inhalt in Zelle E3 ein. Wählen Sie anschließend Zelle E3 aus. Führen Sie das Makro KopieE3E5 aus, und überprüfen Sie anhand des Ergebnisses die korrekte Umsetzung.

Hinweis

Geben Sie einem Makro einen möglichst sprechenden Namen, der etwas über seine Arbeitsweise aussagt. Sie finden es dann leichter in der Liste der Makros.

1.2.3    Makro ansehen


Sehen wir uns den VBA-Code des soeben erstellten Makros an, um einen ersten Eindruck von der Sprache zu erhalten. Dazu gehen Sie wie folgt vor:

  1. Klappen Sie in der Registerkarte Ansicht über den Pfeil auf der Schaltfläche Makros das Menü auf.

  2. Wählen Sie den Menüpunkt Makros anzeigen.

  3. Es erscheint das Dialogfeld Makro mit einer Liste der bisher erstellten Makros. Wählen Sie in der Liste das Makro Makro1 aus.

  4. Betätigen Sie die Schaltfläche Bearbeiten.

Es erscheint der Visual Basic Editor (kurz: VBE), die eigentliche Entwicklungsumgebung. Auf seine einzelnen Elemente werde ich in Abschnitt 1.3, »Visual Basic Editor«, eingehen. Zunächst ist im rechten Fenster der Code der ausgewählten Makros zu sehen (siehe Abbildung 1.7).

Abbildung 1.7     VBA-Code des Makros »Makro1«

Es folgt eine kurze Erläuterung der einzelnen Zeilen. Es macht nichts, falls Sie noch nicht alles genau verstehen. Die einzelnen Codeelemente werde ich später ausführlicher erklären.

Der Code des Makros Makro1 ist in einer Sub-Prozedur zwischen Sub und End Sub notiert. Nach dem Namen eines Makros bzw. einer Sub-Prozedur werden Klammern gesetzt, die zunächst leer sind.

Das Hochkomma dient dazu, eine ganze Zeile bzw. den Rest einer Zeile zu einem Kommentar zu machen. Der Text hinter einem Hochkomma dient der Erläuterung des VBA-Codes. Er wird nicht ausgeführt.

Die Anweisung Range("A1").Select bedeutet: Es wird Zelle A1 ausgewählt. Dank der Anweisung Selection.Cut wird der Inhalt der aktuellen Auswahl, also der Inhalt von Zelle A1, ausgeschnitten und befindet sich anschließend in der Zwischenablage. Die Anweisung Range("C1").Select bedeutet: Zelle C1 wird ausgewählt. Dank der Anweisung ActiveSheet.Paste wird der Inhalt der Zwischenablage in das aktuell aktive Tabellenblatt eingefügt.

Durch diesen Ablauf wird der Inhalt von Zelle A1 in Zelle C1 verschoben.

...


Theis, Thomas
Thomas Theis ist Dipl.-Ing. für Technische Informatik. Als Softwareentwickler verfügt er über langjährige Erfahrung, ebenso als IT-Dozent unter anderem an der Fachhochschule Aachen. Er ist Autor vieler erfolgreicher Fachbücher, zum Beispiel zu den Themen Python, C#, PHP, JavaScript, C++ und Unity.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.