Home » Windows » Office » Tutorial: Microsoft Office Excel » Tutorial: Office Excel 2016 - Excel Tutorial: Einführung in das Arbeiten mit Makros
- Anzeige -
Software Asset Management beim Fachmann

Excel Tutorial: Einführung in das Arbeiten mit Makros

Was sind Makros?

Makros sind kleine (oder auch grosse) Programme. Programme wiederrum sind eine Folge von Anweisungen, die Deinem Computer sagen, was Du zu tun hast.

Versuche Dir immer im Gedächtnis zu behalten, dass Computer eigentlich "blöd" sind. Hier lassen wir natürlich aussen vor, dass es inzwischen Bestrebungen gibt, Rechnersysteme zu entwickeln, die in der Lage sind, selbstständig dazuzulernen. Dein Rechner gehört in jedem Fall nicht dazu.

Die Folge von Anweisungen muss also ganz genau beschreiben, was der Rechner zu tun hat. Würdest Du ein Programm für einen Roboter schreiben, um Badewasser einlaufen zu lasssen, könnte das stark vereinfacht so aussehen:

Was würde passieren? Der Roboter öffnet den Wasserhahn, stellt noch die richtige Temperatur ein und schaut blöde grinsend zu, wie die Wanne überläuft.

Am Schluss fehlte eine Anweisung in der Art:

Derartige Anweisungen findest Du in allen Programmiersprachen. Häufig wird sie englisch dargestellt und sieht so aus:

 then 

VBA - die Programmiersprache von Microsoft Office

Apropos Programmiersprache. Es gibt die verschiedensten Programmiersprachen, um Computerprogramme schreiben zu können. Manche sind einfach zu erlernen, andere schwieriger.

Microsoft Office hat eine eigene Programmiersprache: Visual Basic for Appplication oder kurz VBA. Sie gilt zwar als einfach, jedoch kämpft man als Anfänger oft doch auch ordentlich damit.

Zum Glück musst Du als Einsteiger nicht gleich VBA lernen, denn Du kannst Aktionen aufzeichnen. Diese werden dann von Excel selbständig in VBA-Code abgelegt und können von Dir bei Bedarf wiederholt werden.

Trotzdem ist es wichtig, sich das, was im Hintergrund passiert, bewusst zu machen. Jeder falscher Klick, den Du beim Aufzeichnen machst, landet so in Deinem Makro und verhindert daher möglicherweise die korrekte Funktion. Es ist daher nicht von Nachteil, etwas VBA zu lernen, denn dann kannst Du das aufgezeichnete Makro klorrigieren.

Ich selbst habe (noch) kein Tutorial zu VBA auf it-zeugs.de, aber Du findest auf wikibooks eine gutes Tutorial: VBA in Excel.

Makros in Excel aufzeichnen

Jetzt geht es los. Zunächst einmal musst Du die Entwicklertools einblenden, falls noch nicht geschehen.

Ist der Haken bei "Entwicklertools" gesetzt? Wenn nicht, setze ihn bitte und bestätige alle Einstellungen.

Excel: Einfache Makros erstellen
Excel: Entwicklertools einblenden

Jetzt solltest Du den Reiter "Entwicklertools" sehen.

Excel: Einfache Makros erstellen
Excel: Makros aufzeichnen

Dort findest Du auch die Funktion "Makros aufzeichnen".

Excel: Einfache Makros erstellen
Excel: Makros aufzeichnen

Vergib für Dein Makro einen immer möglichst aussagekräftigen Namen. spätestens nach einem halben Jahr weisst Du nicht mehr, was "Makro3711" macht. Bindestriche und Leerzeichen sind im Namen nicht erlaubt.

Tastenkombinationen würde ich nicht zu häufig verwenden, ausser Du gehörst zu den Personen, die sich Tastenkombinationen gut merken können.

Die nächste Einstellung...

...ist wichtig: Willst Du das Makro in allen Deinen Excel-Tabellen zur Verfügung haben, dasnn wählst Du "Persönliche Makroarbeitsmappe. Willst Du es nur in der aktuellen Mappe haben, dann "Diese Arbeitsmappe". Was "Neue Arbeitsmappe" macht, ist dann sicher klar, diese Funktion kommt aber nach meiner Erfahrung selten zum Einsatz.

Bestätige mit OK

Tippe einen Text und formatiere ihn nach Deinen Wünschen.

Excel: Einfache Makros erstellen
Excel: Beispiel für das erste aufgezeichnete Makro

Beende dann die Aufzeichnung. Hierzu hast Du zwei Möglichkeiten.

Excel: Einfache Makros erstellen
Excel: Beispiel für das erste aufgezeichnete Makro

Makros testen und gg. korrigieren

Nun solltest Du das Makro testen. Dazu solltest Du es aufrufen.

Excel: Einfache Makros erstellen
Excel: Makro aufrufen

Wundere Dich nicht, wenn nicht alles so funktioniert, wie es sein soll. Grund ist, dass die Makroaufzeichnung wirklich stur alles aufzeichnet, was Du anklickst. Und im obigen Beispiel hast Du sicher einmal geklickt und damit einen Fehler aufgezeichnet.

Du kannst Dir den Code des aufgezeichneten Makros anschauen, indem Du...

...auswählst.

Mein aufgezeichneter Code sieht so aus.

Sub Copyright()
'
' Copyright Makro
'

'
    ActiveCell.FormulaR1C1 = "© by Lars Schlageter"
    Range("F5").Select
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    Selection.Font.Italic = True
    Selection.Font.Bold = True
End Sub

Mit Englisch-Kenntnissen und nötigenfalls dem Dictionary, kannst Du Dir den Inhalt des Makros versuchen zu erschliessen.

Mit der Zeile "ActiveCell..." wird in die aktive Zelle der Text geschrieben.

Und in der nächsten Zeile ist schon der Fehler. Hier habe ich beim Aufzeichnen einmal auf die Zelle geklickt und damit wurde ein Klick auf F5 aufgezeichnet. Das darf im Makro aber nicht sein, daher kann ich die Zile mit einem Hockomma auskommentieren, d. h. von der Verarbeitung ausschliessen.

Das Makro ändere ich also so ab und speichere es ab:

Sub Copyright()
'
' Copyright Makro
'

'
    ActiveCell.FormulaR1C1 = "© by Lars Schlageter"
'   Range("F5").Select
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    Selection.Font.Italic = True
    Selection.Font.Bold = True
End Sub

Jetzt rufe ich es nochmal auf und siehe da, es funktioniert. Sollte es zumindest.

Makroaufruf vereinfachen

Immer umständlich über den Reiter Entwicklertools die Makros aufzurufen, macht nicht wirklich Spass. Der Makroaufruf lässt sich auf drei Möglichkeiten vereinfachen.

Tastaturkürzel vergeben

Davon bin ich eigentlich kein Fan. Aber wenn Du Dir die gut merken kannst, warum nicht. Du kannst Tastaturkürzel beim Erstellen von Makros vergeben oder später in den "Optionen".

Excel: Einfache Makros erstellen
Excel: Tastaturkürzel für Makro vergeben

Excel verhindert übrigens, dass Du Tastenkürzel verwendest, die bereits benötigt werden.

Makro in die Leiste für den Schnellzugriff legen

Klicke auf die Leiste für die Schnellzugriffe.

Wähle "Weitere Befehle"

Excel: Einfache Makros erstellen
Excel: Makro in die Schnellzugriffsleiste legen

Wähle bei "Befehle auswählen" "Makros". Wähle dann bei Makro "Hinzufügen"

Excel: Einfache Makros erstellen
Excel: Makro in die Schnellzugriffsleiste legen

Jetzt kannst Du auf "Ändern" klicken und ein anderes Symbol auswählen. Ausserdem könntest Du noch den Anzeigename ändern, was in der Leiste für Schnellzugriff aber nicht angezeigt wird. Bestätige alle Einstellungen durch.

Excel: Einfache Makros erstellen
Excel: Makro in die Schnellzugriffsleiste legen

Makro in das Menüband hinzufügen

Du kannst den Aufruf Deiner Makros auch in das Menüband packen.

Wähle hierzu wieder:

Wähle bei "Befehle auswählen" "Makros". Makros musst Du aber in eine benutzerdefinierte Gruppe packen. Jetzt müssen wir eine erstellen, ausser wenn Du schon eine solche erstellt hast. Am Besten erstellst Du aber auch eine neue Registerkarte und nennst diese Makros.

Excel: Einfache Makros erstellen
Excel: Makro in das Menüband legen

Die Funktion "Neue Registerkarte" erzeugt automatisch auch eine neue Gruppel, in die Du die Makros verschieben kannst.

Excel: Einfache Makros erstellen
Excel: Makro in das Menüband legen

Wie bei der Leiste für den Schnellzugriff, kannst Du hier die eigentlichen Makro-Symbole umbenennen und auch das Symbol selber ändern.

Excel: Einfache Makros erstellen
Excel: Makro in das Menüband legen

Weitere Makro-Beispiele

Was solltest Du denn jetzt mittels Makro automatisieren? Im Prinzip alles, was Du immer wieder machst. Das kann z.B. eine spezielle Seiteneinstellung sein oder die firmenspezifische Einrichtung der Excel-Seite. Auch die fortwährende Eingabe von Daten ist relativ gut automatisierbar. Denke daran, dass das nicht nur unter Excel funktioniert, sondern in allen Microsoft Office-Anwendungen.

Makros selber programmieren

Meiner Ansicht nach, wirst Du mit dem alleinigen Aufzeichnen von Makros auf Dauer nicht besonders glücklich werden, sondern erst, wenn Du ein gewisses Verständnis von VBA hast. Variablen, Abfragen und schleifen mögen Dir da erst einmal äusserst kompliziert vorkommen, doch sie verlieren schnell ihren Schrecken.

Neben dem erwähnten Tutorial: VBA in Excel gibt es zahlreiche Quellen im Internet, aus denen Du das nötige Wissen ziehen kannst.

Als "Appetithappen" das folgende Makro. Was mag es wohl machen?

Sub ForTest()

   For intval2 = 46 To 50
        For intval = 1 To 3
            Cells(intval2, intval) = intval
        Next intval
    Next intval2
    
    MsgBox "In Zelle 49,2 ist " & Cells(49, 2)
End Sub
Excel: Einfache Makros erstellen
Excel: Makro-Beispiel Schleife

Das Ganze ist eine verschachtelte Schleife. Die äussere Schleife ist für die Zeilen 46 bis 50. Die Innere ist für die Spalten 1 bis 3. In Zeile 46 bis 50 wird also in den Spalten A bis C 1 bis 3 ausgegeben. Am Schluss wird zur Kontrolle noch der Inhalt der Zelle B49 ausgegeben. Der Cells-Befehl spricht Zeile und Spalte über einen numerischen Wert an.



War der Artikel hilfreich? Bitte liken und sharen. Danke!

it-zeugs.de ist auch auf Facebook...

Schreibe einen Kommentar - aber kein SPAM - der wird zuverlässig gefiltert!

  • Erforderliche Felder sind markiert mit *.

If you have trouble reading the code, click on the code itself to generate a new random code.