VBA mit Excel (eBook)
1032 Seiten
Rheinwerk Computing (Verlag)
978-3-8362-8692-3 (ISBN)
Werden Sie unter Anleitung des Erfolgsautors Bernd Held zum Profi in VBA mit Excel. Von den Grundlagen (Datentypen, Variablen) und der Programmierung von Objekten (z. B. Zellen, Mappen, Diagramme) über Funktionen und Ereignisse bis hin zu UserForms oder Multifunktionsleisten: Alles drin und mit zahlreichen Beispielen illustriert! Mithilfe von Best Practices tunen Sie Ihren Code und haben im Fehlerfall immer die passende Antwort parat. Das Buch ist damit Einführung, Arbeitsbuch und Nachschlagewerk in einem! Mit über 600 sofort einsetzbaren Makros zum Download. Geeignet für Excel 2016 bis Excel 2021 sowie Microsoft 365.
Aus dem Inhalt:
- Grundsätzliches zur Programmierung
- Die Arbeitsumgebung für die Programmierung
- Datentypen, Variablen und Konstanten
- Sprachelemente in VBA in der praktischen Anwendung
- Zellen und Bereiche programmieren
- Die Programmierung von Spalten und Zeilen
- Tabellenblätter programmieren
- Die Programmierung von Arbeitsmappen
- Diagramme und Pivot-Tabellenberichte programmieren
- Benutzerdefinierte Funktionen und Funktionsmakros
- Programmierung durch Windows-API-Aufrufe
- Ereignisse in Excel einsetzen
- VBE-Programmierung
- Dialoge, Meldungen und UserForms programmieren
- Steuerelemente in Tabellen programmieren
- Eigene Menüs und Symbolleisten erstellen
- Excel und sein Umfeld
- Fehlerbehandlung, Tuning und Schutz von VBA-Projekten
- FAQ zur Programmierung mit Excel
- Aufstellung aller wichtigen VBA-Befehle
- Sofort einsetzbare Makros
Die Fachpresse zur Vorauflage:
NetzNews.org: »Ein unverzichtbarer Begleiter für die Arbeit mit Excel-VBA.«
Bernd Held ist gelernter Informatiker. Zu seinen Spezialgebieten zählen Excel, VBA-Programmierung, Access und allgemeine Office- und Tool-Themen. Er wurde von Microsoft mehrfach als MVP (Most Valuable Professional) für den Bereich Excel ausgezeichnet. Seit 2008 arbeitet er mit einem eigenen Team aus Experten zusammen, das Projekte und Schulungen durchführt, Unternehmen berät und Bücher sowie Fachartikel veröffentlicht.
1.2 Die Bestandteile der Entwicklungsumgebung
Auf den nächsten Seiten werde ich die einzelnen Werkzeuge der Entwicklungsumgebung besprechen. Dabei werde ich Ihnen die wichtigsten Bestandteile der Entwicklungsumgebung sowie typische tägliche Arbeiten beschreiben, die ich bei der Programmierung meiner Projekte nutze und die sich als nützlich und zweckdienlich erwiesen haben.
1.2.1 Der Projekt-Explorer und das »Eigenschaften«-Fenster
Drücken Sie die Tastenkombination (Alt) + (F11), um am schnellsten in die Entwicklungsumgebung von Microsoft Excel zu gelangen.
Abbildung 1.4 Die Entwicklungsumgebung von Excel
Standardmäßig sind die beiden Fenster Projekt-Explorer und Eigenschaften-Fenster eingeblendet. Sollten sie noch nicht sichtbar sein, dann blenden Sie sie über das Menü Ansicht ein. Diese beiden Fenster arbeiten direkt zusammen und bedingen einander.
Tabellen ein- oder ausblenden
Im Projekt-Explorer (links oben) werden alle momentan geöffneten Arbeitsmappen und die darin enthaltenen Tabellen angezeigt. Im Zusammenspiel mit dem darunterliegenden Eigenschaften-Fenster erkennen Sie beispielsweise, welche Tabellen einer Arbeitsmappe angezeigt bzw. ausgeblendet sind. Markieren Sie dazu exemplarisch Tabelle1 im Projekt-Explorer, und wählen Sie im Eigenschaften-Fenster die Eigenschaft Visible aus.
Abbildung 1.5 Den Status der Tabelle abfragen
Im Eigenschaften-Fenster können Sie über das Dropdown bei der Eigenschaft Visible festlegen, ob Sie eine Tabelle ein- oder ausblenden möchten. Dabei fällt auf, dass es drei Ausprägungen dafür gibt:
-
1 – xlSheetVisible: Die Tabelle ist sichtbar.
-
0 – xlSheetHidden: Die Tabelle ist ausgeblendet.
-
2 – xlSheetVeryHidden: Die Tabelle ist sicher ausgeblendet, das heißt, »normale« Anwenderinnen und Anwender können diese Tabelle nicht mehr einblenden. Das Einblenden von solch versteckten Tabellen kann nur über die Entwicklungsumgebung oder ein Makro erfolgen.
Eigenschaften einstellen oder codieren?
Eigenschaften können Sie entweder direkt im Eigenschaften-Fenster festlegen oder – besser – über ein Makro setzen. Das Einstellen von Eigenschaften über ein Makro hat den Vorteil, dass Sie die Einstellung beispielsweise von einer Bedingung abhängig machen können. Stellen Sie sich einmal vor, Sie möchten Tabelle1 nur dann sicher ausblenden, wenn ein nicht »bekannter« Anwender Ihre Excel-Arbeitsmappe öffnet.
Ein weiterer Vorteil dieser Vorgehensweise liegt darin, dass Sie das Setzen von Eigenschaften per Makro zusätzlich mit Kommentaren im Quellcode versehen können, um den Quellcode sprechend und nachvollziehbar für andere zu gestalten.
Bei dem folgenden Ereignismakro aus der Arbeitsmappe Zugang.xlsm wird exemplarisch Tabelle1 ausgeblendet. Gehen Sie dazu wie folgt vor:
-
Führen Sie im Projekt-Explorer einen Doppelklick auf die Rubrik DieseArbeitsmappe durch.
-
Wählen Sie im Codefenster auf der rechten Seiten im links stehenden Dropdown den Befehl Workbook aus.
Abbildung 1.6 Ein Ereignis einstellen
-
Das jetzt eingestellte Ereignis Workbook_Open wird immer automatisch beim Öffnen der Arbeitsmappe durchlaufen. Die darin enthaltenen Befehle werden dabei nacheinander abgearbeitet.
-
Ergänzen Sie den noch leeren Ereignisrahmen wie folgt:
Private Sub Workbook_Open()
'Dieses Ereignis wird beim Öffnen der Mappe ausgeführt
Tabelle1.Visible = xlSheetVeryHidden
End SubListing 1.1 Eine Tabelle beim Öffnen der Mappe sicher ausblenden
Im Ereignismakro aus Listing 1.1 wird die Eigenschaft Visible auf den Wert xlSheetVeryHidden gesetzt. Damit wird diese Tabelle sicher ausgeblendet.
Um das Ereignismakro Workbook_Open zu starten, müssten Sie die Mappe speichern und schließen. Beim erneuten Öffnen der Mappe würde dieses Ereignis dann automatisch angesteuert. Für dieses Ereignis können Sie aber auch den Mauszeiger in das Ereignis setzen und die Taste (F5) drücken. Dadurch wird das Ereignis ebenso angesteuert und abgearbeitet. Diese Vorgehensweise funktioniert aber nur für dieses eine Ereignis Workbook_Open.
Was sind Ereignisse?
Unter Ereignissen versteht man automatisch ablaufende Makros, die dann gestartet werden, wenn der Anwender eine Aktion in Excel durchführt. Das bekannteste Ereignis Workbook_Open wird beim Öffnen der Mappe ausgeführt. Weitere Ereignisse wie beispielsweise solche, die beim Drucken (BeforePrint), Speichern (BeforeSave) und Schließen (BeforeClose) einer Arbeitsmappe angelaufen werden, lernen Sie im weiteren Verlauf des Buches kennen. Über den Einsatz von Ereignissen können Sie sich an bestimmte Aktionen des Anwenders anhängen und dabei weitere Aktionen zusätzlich ausführen. Exemplarisch haben Sie gerade beim Öffnen der Mappe Tabelle1 sicher ausgeblendet.
Eine ScrollArea einstellen
Beim folgenden Beispiel wird für Tabelle2 eine sogenannte ScrollArea eingestellt. Dabei handelt es sich um einen Bereich in der Tabelle, in dem sich die Anwenderinnen und Anwender aufhalten dürfen. Das bedeutet, dass Sie über diese Eigenschaft genau festlegen können, welchen Bereich der Tabelle eine Anwenderin betreten darf.
Die ScrollArea muss standardmäßig ein zusammenhängender Bereich in der Tabelle sein. Es ist nicht möglich, mehrere einzelne Bereiche oder Zellen zusammenzufassen.
Diese »Schutzfunktion« ist, sofern Sie sie direkt über das Eigenschaften-Fenster einstellen, nicht dauerhaft gesetzt. Das bedeutet, dass diese Eigenschaft wieder ungesetzt ist, wenn Sie nach der Einstellung der ScrollArea die Mappe speichern und verlassen und danach wieder öffnen. Daher gehen Sie auch in diesem Fall dazu über, die ScrollArea über ein Makro bzw. ein Ereignismakro zu setzen. Erweitern Sie dazu das vorher eingestellte Workbook_Open-Ereignis aus Listing 1.1 wie in Listing 1.2 gezeigt:
'Dieses Ereignis wird beim Öffnen der Mappe ausgeführt
Tabelle1.Visible = xlSheetVeryHidden
'Die ScrollArea für Tabelle2 setzen
Tabelle2.ScrollArea = "A1:D10"
End Sub
Listing 1.2 Den Aufenthaltsbereich in »Tabelle2« festlegen
Nach Abarbeiten des Ereignisses Workbook_Open kann der Anwender in Tabelle2 den Bereich A1:D10 nicht verlassen.
Kommentare hinterlassen
Wenn Sie Listing 1.2 noch einmal betrachten, dann sehen Sie, dass oberhalb der Befehle noch Kommentare verfasst wurden. Diese Kommentare werden mit einem Apostroph eingeleitet und werden dann von Excel nicht als Befehl interpretiert.
Tabellennamen ansprechen
Ein sehr wichtiges Thema in der Excel-Programmierung ist, wie Sie Tabellen in Excel ansprechen. Wenn Sie einen Blick in den Projekt-Explorer von Excel werfen, stellen Sie fest, dass jeder Tabellenname gleich zweimal genannt wird. Standardmäßig sind beide Tabellennamen gleich. Das muss aber nicht so bleiben.
Abbildung 1.7 Eine Tabelle benennen und ansprechen
Geben Sie exemplarisch Tabelle3 einen anderen Namen. Dazu gehen Sie in die »normale« Excel-Arbeitsoberfläche und führen einen Doppelklick auf das Tabellenregister von Tabelle3 im unteren Teil des Fensters durch. Erfassen Sie dann den Namen »tbl_Daten«, und...
Erscheint lt. Verlag | 7.4.2022 |
---|---|
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
ISBN-10 | 3-8362-8692-0 / 3836286920 |
ISBN-13 | 978-3-8362-8692-3 / 9783836286923 |
Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
Haben Sie eine Frage zum Produkt? |
Größe: 21,0 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich