Profi-Excel.de

Die Seite für den professionellen Umgang mit Excel und VBA

      • 5 user online
      • 48390 Besucher insgesamt

Makros einbinden

23. September 2006

 Grundsätzlich gibt es drei Möglichkeiten, Makros in Excel einzubinden

  1. Makros in einer Arbeitsmappe speichern: Das Makro ist nur für diese Datei verfügbar.
  2. Makros in der Makroarbeitsmappe “Personal.xls” speichern: Das Makro ist nur für diesen Computer, aber für alle Dateien verfügbar.
  3. Makros als Add-In speichern: Das Makro ist nur für diesen Computer, aber für alle Dateien verfügbar. Das Add-In lässt sich – wie eine Datei – einfach weitergeben

A.) Wenn Sie ein Makro nur in einer bestimmten Datei verwenden wollen, können Sie das Makro in dieser Datei abspeichern. Das hat den Vorteil, dass Sie die Datei einfach an andere weitergeben können und die Funktionalität des Makros weiterhin vorhanden ist. Das Makro funktioniert allerdings nur, wenn die Datei, in der das Makro gespeichert wurde, auch geöffnet ist. Wollen Sie das Makro also in verschiedenen Dateien anwenden, so sollten Sie B.) oder C.) verwenden, oder in Einzelfällen auch das Makro jeweils in die betroffenen Dateien kopieren. Das hat allerdings den Nachteil, dass Sie Änderungen am Makro-Code (und die gibt es erfahrungsgemäß fast immer) in allen Dateien nachziehen müssen.
Zum Einbinden des Makros-Codes in der Datei gehen Sie wie folgt vor:

  1. Öffnen Sie den Makro-Editor (VBE – Visual Basic Editor) mit der Tastenkombination Alt+F11 oder gehen Sie über den Menüpunkt Extras – Makro – Visual Basic Editor
  2. Sie sehen überlicherweise links oben die VBA-Projektübersicht (siehe Bild 1), in der alle offenen Arbeitsmappen sowie alle geladenen Add-Ins angezeigt werden.
    Markieren Sie ein beliebiges Objekt, beispielsweise eine Tabelle in der Arbeitsmappe, in der Sie das Makro einfügen möchten. Hier im Beispiel von Bild 1 ist das Mappe1, Tabelle1. Anschließend müssen Sie über den Menüpunkt Einfügen – Modul ein neues Modul hinzufügen. Das Ergebnis sollte ähnlich dem in Bild 2 sein.
  3. Sie sollten nun das Eingabefenster für den Makro-Code entsprechend Bild 3 sehen. Hier können Sie eigenen Code programmieren oder Makros per Copy-and-paste einfügen.
  4. Wenn Sie die Datei abspeichern, wird der eingegebene Makrocode automatisch mit der Datei gespeichert, genau wie Daten in den Tabellenblättern.

 Bild 1

VBA Makros in Excel einbinden 1

 Bild 2

VBA Makros in Excel einbinden 2

 Bild 3

VBA Makros in Excel einbinden 3

B.) Zum Einbinden von Makros in die Persönliche Makroarbeitsmappe gehen Sie genauso vor wie bei A.), nur dass Sie in der VBA-Projektübersicht (Bild 1) die Personl.xls auswählen. Falls diese noch nicht vorhanden ist, müssen Sie sich diese Datei erzeugen, in dem Sie ein Makro aufzeichnen, siehe Bild 4. Gehen Sie dazu in Excel (also nicht im Makro Editor) auf den Menüpunkt Extras – Makro – Aufzeichnen und zeichnen Sie eine beliebige Aktion, z.B. die Eingabe einer Zahl als Makro in der Personl.xls auf. Danach sollte die Personl.xls in der VBA-Projektübersicht erscheinen.

 Bild 4 

VBA Makros in Excel einbinden 4

C.) Für das Abspeichern eines Makros in einem Add-In müssen Sie genau so vorgehen wie bei A.), nur, dass Sie die Datei nicht als normale Excel Datei mit der Endung .xls abspeichern, sondern über den Menüpunkt Datei – Speichern unter – Dateityp: Microsoft Excel-Add-In(*.xla) die Datei als Add-In abspeichern.

7 Kommentare zu “Makros einbinden”

  1. Chris sagt:

    Ich vermute, dass A und B bei Mehrbenutzersystemen jeweils für den aktuellen Benutzer gelten?

    Bei Dateien mit Makros (A) warnt Excel beim Öffnen vor den Makros und deaktiviert sie, wenn man nichts anderes angibt. Kann man das als Autor verhindern (Singatur o.ä.)? Passiert das auch bei Add-Ins?

  2. Eike sagt:

    Hallo Chris,

    ja und nein. Die Personl.xls (persönliche Makroarbeitsmappe (B) ) ist benutzerabhängig und liegt beispielsweise unter “C:\Dokumente und Einstellungen\ Username\ Anwendungsdaten\ Microsoft\ Excel\ XLStart”. Daher auch der Name “persönliche” Makroarbeitsmappe.
    Bei (A) hingegen ist der VBA-Quellcode tatsächlich, ähnlich wie die Daten eines Tabellenblatts, in der xls-Datei gespeichert. Somit kann jeder der Zugriff auf die Datei hat, auch die eingebundenen VBA Prozeduren (z.B. Makros oder UDFs) verwenden.

    Man kann als Autor über Selfcert Signaturen erstellen und den Quellcode signieren. Voraussetzung dafür, dass die Warnung nicht angezeigt wird ist, dass das mit Selfcert erstelle Zertifikat auf dem jeweiligen Rechner installiert ist. Zudem sind diese Zertifikate nicht besonders sicher, da sie von jedem erstellt werden können.
    Im Gegensatz zu eigenen Zertifikaten die durch Selfcert erstellt wurden, können Zertifikate auch bei offiziellen Zerfitizierungsstellen erworben werden.

    Add-Ins werden im Hintergrund geöffnet, sobald Excel gestartet wird (also mit der Applikation). Warnmeldungen werden normalerweise nicht angezeigt.

    Die Sicherheitseinstellungen lassen sich aber auch anpassen über Extras-Makros-Sicherheit.

  3. Johannes Geyer sagt:

    wenn ich ein Makro aufzeichnen will, dann kommt immer: kann nicht aufzeichnen! wie kann ich das problem beheben?? mfg geyer

  4. Eike sagt:

    Hallo Johannes,

    bei Zellen die mehr als 255 Zeichen (Text) enthalten kann es zu Problemen bei der Makroaufzeichnung kommen. Weiter könnten Rechteprobleme (Admin) dafür verantwortlich sein.

    Gruß
    Eike

  5. Tim sagt:

    Hi,

    also ich habe das folgende Problem:
    Ich habe eine Symbolleiste erstellt und den Buttons versch. Makros zugewiesen. Alles zusammen dann in einem Add-In gespeichert. Wenn ich jetzt dieses Add-In auf dem Netzlaufwerk von einem anderen Computer aus aufrufe und die Makros über die Buttons starten will bekomme ich die Fehlermeldung “‘abc.xls’ kann nicht gefunden werden. Blablabla”. Ich muss dann jedes Mal den Pfad zu den Makros für jeden Button erneuern.

    Wäre schön, wenn es eine einfachere Lösung gebe.

    Vielen Dank im Vorraus.

    Liebe Grüße,
    Tim

  6. Eike sagt:

    Hallo Tim,

    ich benutze selbst Add-Ins, die ich allerdings lokal vorliegen habe (auf der C-Platte). Über ein Script wird das Add-In im Firmennetz verteilt und auf alle Rechner kopiert. Mit diesem Vorgehen gab es keine Probleme mit Pfaden.

    Gruß
    Eike

  7. Tim sagt:

    Vielen Dank, werd’ ich gleich mal ausprobieren.

    LG,
    Tim

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>