Startseite » Beiträgeseite » VBA-Makrosicherheit

VBA-Makrosicherheit

  • von

Zur Sicherheit sind Makros meistens komplett gesperrt oder nur eingeschränkt möglich. Das macht auch Sinn, denn VBA-Makros können erheblichen Schaden verursachen, entweder direkt mittels VBA-Programmcode oder durch das Nachladen von Schadsoftware.

Nachfolgend geben wir Ihnen eine kleine Anleitung, wie Sie VBA-Makros starten können. Sollte in Ihrem Betrieb das Ausführen von VBA-Makros verboten sein oder Sicherheitsbestimmungen bestehen, wenden Sie sich zuerst an ihre zuständige IT-/EDV-Abteilung. Diese kann die von uns zur Verfügung gestellten VBA-Makros auf Sicherheit hin prüfen, unter anderem durch Vergleich oder hinzukopieren des Programmcodes aus unserer Webseite.

Falls Sie keine IT bzw. EDV-Abteilung haben, können Sie die nachfolgenden Schritte ebenfalls durchführen und die Makros testen.

Die kleinen Excel-Tools werden jeweils in zwei Versionen zum Download angeboten: einmal komplett fertig mit integriertem Makro, sowie nur die Excel-Arbeitsmappe und den VBA-Programmcode in einer Textdatei.

Als Beispiel für die Erklärung wird Trennstreifen bedrucken Anwendung genommen.

Komplette Excel-Arbeitsmappe mit integriertem Makro

Wenn Sie noch nie etwas mit VBA-Makros in Excel gemacht haben, ist noch die höchste Sicherheitsstufe in Excel aktiv. Dennoch können Sie die Excel-Arbeitsmappe öffnen, müssen allerdings das [Bearbeiten aktivieren] anklicken:

Abbildung 1: Bearbeiten aktivieren

Damit sind noch keine Makros aktiv, also Programmcode kann jetzt noch nicht ausgeführt werden.

Nun haben Sie aber bereits die Möglichkeit, den hinterlegten VBA-Programmcode einzusehen. Das ermöglicht Ihnen den Abgleich, z. B. mit dem auf unserer Website veröffentlichten VBA-Programmcode. Geben Sie bei aktiviertem Excel, auf Ihrer Tastatur die folgende Tastenkombination ein: [Alt] + [F11]. Daraufhin öffnet sich der Visual Basic-Editor.

Abbildung 2: VB-Editor mit Makro

Der Projekt-Explorer (siehe Abbildung_2, links: mit „Projekt – VBAProjekt“ überschrieben) zeigt die enthaltenen Objekte, im Fall der Excel-Arbeitsmappe „Trennstreifen mit Makro.xlsm“ sind das die beiden Tabellen (Excel-Arbeitsblätter) und ganz allgemeinen die Arbeitsmappe. Jedes dieser drei Objekte kann Programmcode enthalten, wobei von uns aus nur im Objekt „Diese Arbeitsmappe“ ein Programmcode hinterlegt ist, die beiden anderen Objekte haben allenfalls eine Zeile mit der Optionsanweisung „Option Explicit“ für ggf. künftigem Programmcode (welche den Programmierer zwingt, alle Variablen zu deklarieren) und keinerlei Bedeutung für die Programmausführung hat.

Um zu sehen welcher Programmcode hinter dem Makro steht, doppelklicken Sie auf das Objekt „Diese Arbeitsmappe“ –> der Programmcode wird angezeigt. Zur Verdeutlichung der einzelnen Programmbefehle haben wir sehr viel kommentiert; Kommentar wird in grüner Schriftfarbe angezeigt (zumindest in der Standard-Einstellung nach Installation von Excel). Gleichzeitig können Sie den hinterlegten Programmcode mit dem auf unserer Website vergleichen und somit die Übereinstimmung beider Programmcodes überprüfen.

Nach dem Sie den Programmcode überprüft haben, schließen Sie die Arbeitsmappe wieder. Damit der Programmcode tatsächlich gestartet werden kann, muss das Ausführen von Makros ermöglicht werden. „Hier finden Sie die Anleitung zum Bearbeiten der Sicherheitseinstellungen in Excel.“

Excel-Arbeitsmappe ohne Makro

Damit die grundsätzlichen Formatierungen und das Layout bereits vorgenommen sind, bieten wir die Excel-Dateien auch ohne Makro an; allerdings erfolgt die komfortable Funktionalität erst mit den speziellen Makros! Laden Sie sich die entsprechende Excel-Arbeitsmappe von unserer Webseite herunter. Der Download ist ein ZIP-Archiv, in welchem sowohl die Excel-Arbeitsmappe als auch eine Textdatei – welche den reinen Programmcode enthält. (In Windows 10 kann man in ein ZIP-Archiv einfach reinklicken und die darin enthaltenen Dateien durch Doppelklick sogar direkt öffnen.)

Öffnen Sie die entsprechende Excel-Arbeitsmappe (z. B. „Trennstreifen Anfangs Ohne Makro.xlsx“), anhand der Dateiendung („.xlsx“) kann man auch sehen, dass es sich um eine einfache Excel-Datei ohne Makros handelt. Ggf. muss auch bei dieser Datei das Bearbeiten wieder aktiviert werden:

Abbildung 3: Bearbeiten aktivieren

Ohne die VBA-Programmfunktionalität ist außer einem formatierten Arbeitsblatt nichts Nützliches enthalten. Erst mit dem VBA-Programmcode erhalten Sie ein praktisches Tool, mit dem Sie schnell ein Ergebnis erzielen.

Dazu geben Sie bei aktiviertem Excel, auf Ihrer Tastatur die folgende Tastenkombination ein: [Alt] + [F11]. Daraufhin öffnet sich der Visual Basic-Editor.

Abbildung 4: VBA-editor

Auf dem Bild 4 ist der Projektexplorer zu sehen, doppelklicken Sie auf das Objekt „Diese Arbeitsmappe“ –> es wird das Codefenster rechts davon geöffnet. Im Codefenster steht noch kein Programmcode und es ist leer; falls bei Ihnen bereits der Eintrag „Option Explicit“ steht, löschen Sie diesen, so dass am Ende nichts mehr im Codefenster steht. Den Programmcode finden Sie sowohl auf unserer Website oder in der Textdatei „VBA-Code.txt“ im Download. Markieren Sie den gesamten Programmcode (in der Textdatei z. B. mit der Tastenkombination [Strg]+[A]) und kopieren diesen in die Zwischenablage (z. B. mit der Tastenkombination [Strg]+[C]). Klicken Sie daraufhin in das Codefenster und fügen den kopierten Programmcode ein (Tastenkombination [Strg]+[V]). Das Ergebnis sieht dann so wie im Bild 5 aus. Damit ist zwar der Programmcode hinterlegt, jedoch müsste dieser umständlich aufgerufen werden.

Abbildung 5: VBA-Code in Editor einfügen

Zur einfacheren und praktischeren Nutzung dieses Programmcodes haben wir die Form mit dem Text „Makro starten“ auf das Arbeitsblatt hinterlegt.

Abbildung 6: Makro starten

Insofern der Programmcode von Ihnen nicht geändert wurde, sollte die Verknüpfung mit dem Programmcode bereits passen und mit einem Klick darauf das erste Meldungsfenster aufpoppen:

Abbildung 8: Nachfrage beim Makro Starten

Beenden Sie die weitere Programmausführung mit [Abbrechen].

Jetzt können Sie mit dieser Excel-Arbeitsmappe die darin enthaltene Funktionalität nutzen. Allerdings nur solange, bis diese geschlossen wird. Wenn Sie die wie vor zusammengestellte Excel-Arbeitsmappe aber dauerhaft nutzen wollen, dann sollten Sie diese mit Makros speichern. Mit der Tastenkombination [F12] wird das Dialog-Fenster „Speichern unter“ geöffnet. Den Dateiablageort und den Dateinamen bestimmen Sie selbst (es empfiehlt sich, die Worte „Anfangs Ohne“ zu entfernen), wichtig ist jedoch den Dateitype auf „Excel-Arbeitsmappe mit Makros (*.xlsm)“ zu ändern. Damit wird der hinterlegte Programmcode mit abgespeichert und die Programm-Funktionalität bleibt erhalten.

Abbildung 7: Excel-Datei als den richtigen Dateitype speichern

Sicherheitseinstellungen bearbeiten

Die Sicherheitseinstellungen werden im „Trust-Center“ eingestellt, dazu gehen Sie wie folgt vor: die Excel-Optionen öffnen (Menü „Datei“ und dann ganz Unten auf „Optionen“ klicken):

Dieses Bild hat ein leeres Alt-Attribut. Der Dateiname ist Excel-Optionen-Trust-Center.png
Abbildung 8: Excel-Option

Klicken Sie auf:

  1. Trust-Center -> es werden Hinweise für die Einstellungen zur Sicherheit angezeigt.
  2. Einstellungen für das Trust-Center anklicken –> danach öffnet sich der Trust-Center als Pop-Up.
  3. Makroeinstellungen –> es werden die vier möglichen Einstellungen dazu gezeigt.
  4. Die Makrosicherheit ist mit der obersten Option am höchsten, die unterste Option sollte eigentlich nie ausgewählt werden, weil dann der Schutzmechanismus von Excel komplett ausgeschaltet ist. Wählen Sie die zweite Option von Oben, damit sind Makros generell nicht aktiv, aber Sie werden beim Start einer Excel-Arbeitsmappe stets gefragt, ob Sie das Makro aktivieren wollen. Damit liegt die Entscheidungshoheit bei Ihnen, sobald eine Excel-Arbeitsmappe gestartet wird.
  5. Die Änderung muss noch mit [OK] bestätigt werden.
Dieses Bild hat ein leeres Alt-Attribut. Der Dateiname ist PopUp-Trust-Center.png
Abbildung 9: Trust Center einstellen

Danach wird beim Öffnen künftiger Excel-Arbeitsmappen mit einem VBA-Programmcode nachgefragt (Dateiendung .xlsm), ob der VBA-Programmcode aktiviert werden soll.

Letzte Aktualisierung am 2021-05-18 von EPI