Sichere Variablendeklaration mit Option Explicit

Häufige Fehler bei Makros sind fehlerhafte Variablen. Standardmäßig müssen Sie nicht zwangsweise eine Variable deklarieren, bevor Sie Sie verwenden können.

Sub ohneVariablenDeklaration()
Zahl = 10
MsgBox Zahl
End Sub

Im obigen Beispiel wird der Variable Zahl zu Beginn der Wert 10 zugewiesen ohne dass die Variable vorher definiert wurde. Mit MsgBox wird Ihnen in der nächsten Zeile der Wert der Variable Zahl über eine Messagebox am Bildschirm angezeigt. Tipp: Eine Ausgabe der Variable per Messagebox eignet sich auch sehr gut um einen Fehler in einem Makro zu finden. So können Sie prüfen, ob den Variablen die richtigen Werte zugewiesen worden sind, oder ob das Makro nur deshalb nicht richtig läuft, weil Sie bei der Deklaration oder Zuweisung der Variablen einen Fehler gemacht haben.

weiterlesen

 

Erste Schritte – Aufruf vom VBA-Editor

Wie kann ich Makros nutzen? Wohin muss ich den Makro-Quellcode (Programmiercode) kopieren? Wie kann ich das Makro starten?

Das sind die ersten Fragen, die Sie sich wahrscheinlich stellen werden, wenn Sie sich bisher noch gar nicht mit Makroprogrammierung beschäftigt haben. Daher zunächst eine kleine bebilderte Einleitung wie Sie starten.

1. Excel und anschließend den Visual Basic-Editor (VBA-Editor) öffnen. Den VBA-Editor öffnen Sie entweder über die Tastenkombination <Alt> + <F11> oder über das Menü “Extras”, “Makro”, “Visual Basic-Editor” (vgl. Abbildung 1)

Abbildung 1
2. Im linken oberen Feld des VBA-Editors sehen Sie anschließend die geöffneten Dateien (hier: “Mappe1”) und jeweils darunter die Microsoft Excel Objekte “Diese Arbeitsmappe” und die Tabellenblätter der Datei. Als nächstes sollten Sie ein Modul einfügen, da die meisten Makros in Modulen gespeichert werden (vgl. Abbildung 2). In “Diese Arbeitsmappe” oder dem jeweiligen Tabellenblatt können ebenfalls Makros gespeichert werden, wird aber nur in bestimmten Fällen sinnvoll sein. Nützliche Anwendungsbeispiele für diese Sonderfälle stelle ich Euch noch vor.

weiterlesen