Autor: Beate Schmitz --- Aus Excel VBA - Gruppe:
GrundlagenWie und wo fügt man ein Makro bzw. Code ein
Autor: Beate Schmitz - Erstellt: 2005-05 - Letzte Revision: 2010-08
Das Einfügen von Makros bzw. benutzerdefinierte Funktionen in VBA
Um die Beschreibung kurz zu halten, basiert diese Erklärung auf Tastenkombinationen. Selbstverständlich kann man auch über die Menübefehle bzw. teilweise Rechtsklick mit der Maus das Gleiche erreichen. Voraussetzung ist, dass die entsprechende Excel-Datei geöffnet ist.
Zum Blattanfang
Wie fügt man ein Makro oder eine benutzerdefinierte Funktion in ein Modul ein?
Werden Makros durch Recorderaufnahme erzeugt, generieren sich die Module automatisch.
Will man aber Code reinkopieren oder selbst schreiben, muss man wie folgt vorgehen:
- während Excel aktiv ist, ist die Tastenkombination Alt + F11 zu drücken, damit öffnet sich das Fenster der Entwicklungsumgebung für VBA
- mit Tastenkombination Strg + R den Projekt-Explorer öffnen und aktivieren
- dort die gewünschte Datei per Doppelklick markieren, sie ist dann blau unterlegt
- zunächst Tastenkombination Alt + E und dann M drücken
- nun ist in der rechten Fensterhälfte ein leeres Modul eingefügt worden, in dieses kann der Code eingefügt werden
- im Projektexplorer wird dieses Modul unter der Datei auch angezeigt
- speichern und Visual Basic mit Tastenkombination Alt + F4 schließen
- das Makro bzw. die Funktion stehen nun in der Datei zur Verfügung
Zum Blattanfang
Wie fügt man ein Makro in "dieseArbeitsmappe" ein?
- während Excel aktiv ist, ist die Tastenkombination Alt + F11 zu drücken, damit öffnet sich das Fenster der Entwicklungsumgebung für VBA
- mit Tastenkombination Strg + R den Projektexplorer öffnen und aktivieren
- dort die gewünschte Datei per Doppelklick markieren, sie ist dann blau unterlegt
- nun Doppelklick unterhalb dieser Datei auf "dieseArbeitsmappe"
- nun ist in der rechten Fensterhälfte das Codefenster von "dieseArbeitsmappe". In diese kann der Code eingefügt werden
- speichern und Visual Basic mit Tastenkombination Alt + F4 schließen
- das Makro steht nun in der Datei zur Verfügung
- Ausnahme: Workbook_Open-Makros werden erst nach dem nächsten Dateiöffnen berücksichtigt
Zum Blattanfang
Wie fügt man ein Makro in das Codefenster der Tabelle ein?
- während Excel aktiv ist, ist die Tastenkombination Alt + F11 zu drücken, damit öffnet sich das Fenster der Entwicklungsumgebung für VBA
- mit Tastenkombination Strg + R den Projektexplorer öffnen und aktivieren
- dort die gewünschte Datei per Doppelklick markieren, sie ist dann blau unterlegt
- nun Doppelklick unterhalb dieser Datei auf das gewünschte Tabellenblatt, auf welches sich das Makro auswirken soll
- nun ist in der rechten Fensterhälfte das Codefenster dieser Tabelle sichtbar. In diese kann der Code eingefügt werden
- speichern und Visual Basic mit Tastenkombination Alt + F4 schließen
- das Makro steht nun in der Datei zur Verfügung
Zum Blattanfang
Wie fügt man ein Makro in das Codefenster eines Diagramms ein?
Dies funktioniert nur, wenn das Diagramm ein eigenständiges Blatt ist, nicht wenn es ein Objekt einer Tabelle ist.
- während Excel aktiv ist, ist die Tastenkombination Alt + F11 zu drücken, damit öffnet sich das Fenster der Entwicklungsumgebung für VBA
- mit Tastenkombination Strg + R den Projektexplorer öffnen und aktivieren
- dort die gewünschte Datei per Doppelklick markieren, sie ist dann blau unterlegt
- nun Doppelklick unterhalb dieser Datei auf das betreffende Diagramm, auf welches sich das Makro auswirken soll
- nun ist in der rechten Fensterhälfte das Codefenster dieses Diagramms sichtbar. In diese kann der Code eingefügt werden
- speichern und Visual Basic mit Tastenkombination Alt + F4 schließen
- das Makro steht nun in der Datei zur Verfügung
Zum Blattanfang
Wie erstellt man ein Klassenmodul und wozu dient es?
Eine Klasse ist eine Definition für ein Objekt. Sie enthält Informationen dazu, wie sich ein Objekt verhalten soll, einschließlich des Namens, der Methoden, Eigenschaften und Ereignisse.
Dieses Objekt ist meist eine Sammlung gleicher Objekte (z.B. verschiedene Textboxen in einer Userform), die alle, in bestimmten Situationen, das selbe Verhalten an den Tag legen.
Weiter werden Klassenmodule benötigt, um Ereignisse von Objekten zu verarbeiten. Ein Diagramm als eigenes Blatt in der Mappe hat automatisch ein Klassenmodul. Um dieselben Ereignisse von einem in einer Tabelle eingebettetem Diagramm zu verarbeiten, wird ein separates Klassenmodul benötigt.
Darüber hinaus werden Klassenmodule eingesetzt, um Ereignisse von Objekten zu verarbeiten, die über kein eigenes Klassenmodul verfügen, deren Ereignisse aber als Automatisierungsereignisse von Excel verarbeitet werden können.
Weitere Ereignisse, die ein Klassenmodul benötigen sind beispielsweise:
- das Click-Ereignis des Commandbarbuttonobjektes
- das Change-Ereignis des Commandbarcomboboxobjektes
- das OnUpdate-Ereignis des Commandbarobjektes
- das ItemAdded-/ItemRemoved-Ereignis des Referenceseventsobjektes
- das Click-Ereignis des Commandbareventsobjektes
Und hier die Einbaubeschreibung für ein Klassenmodul:
- während Excel aktiv ist, ist die Tastenkombination Alt + F11 zu drücken, damit öffnet sich das Fenster der Entwicklungsumgebung für VBA
- mit Tastenkombination Strg + R den Projektexplorer öffnen und aktivieren
- dort die gewünschte Datei per Doppelklick markieren, sie ist dann blau unterlegt
- zunächst Tastenkombination Alt + E und dann K drücken
- nun ist in der rechten Fensterhälfte ein leeres Klassenmodul eingefügt worden, in dieses kann der Code eingefügt werden
- im Projektexplorer wird dieses Klassenmodul unter der Datei auch angezeigt
- speichern und Visual Basic mit Tastenkombination Alt + F4 schließen
- das Makro steht nun in der Datei zur Verfügung
Weitere Artikel der Gruppe: Grundlagen Aus Excel VBA
Nach oben