Makros in Excel programmieren: Die vollständige Schritt-für-Schritt-Anleitung

Letzte Aktualisierung: August 29 2025
  • Makros automatisieren sich wiederholende Aktionen in Excel, reduzieren Fehler und sparen Zeit.
  • Sie können sie mit dem Recorder erstellen und für zusätzliche Flexibilität mit VBA erweitern.
  • Verwenden Sie relative Referenzen, um unterschiedliche Bereiche zu berücksichtigen und redundante Schritte zu vermeiden.
  • Speichern Sie als .xlsm und verwalten Sie die Sicherheit, um Makros sicher auszuführen.

Makros in Excel und wie man sie programmiert

Wenn Sie Aufgaben in Excel immer wieder wiederholen, sind Makros Ihr bester Verbündeter, um keine Zeit mehr zu verschwenden. Mit ihnen können Sie automatisieren Sie komplette Aktionsabläufe (mehr erfahren über VBA-Programmierung), von der Formatierung über den Datenimport bis hin zum Ausführen von Berechnungen, und lösen Sie diese jederzeit mit einem Klick oder einer Tastenkombination aus.

Wenn Sie ein Makro erstellen, zeichnet Excel Ihre Klicks und Tastenanschläge auf und führt sie zuverlässig aus. Sie können den Code dann optimieren, um die Ausführung zu optimieren und Ressourcen für ExcelEs ist üblich, mit dem Recorder zu beginnen und dann mit VBA anzupassen, um mehr Kontrolle, Flexibilität und null Fehler durch Unachtsamkeit.

Was genau ist ein Makro in Excel?

Ein Makro ist ein Liste der Anweisungen, die Excel in der definierten Reihenfolge ausführt. Es kann so einfach sein wie das Anwenden eines Prozentstils oder so komplex wie Erstellen Sie einen Bericht mit Pivot-Tabellen, formatieren Sie es, erstellen Sie Tabellen und senden Sie eine E-Mail in Outlook. Makros werden in Ihrer Arbeitsmappe gespeichert und Sie können sie jederzeit ausführen.

Sie müssen nicht programmieren können, um loszulegen: Der Recorder übersetzt Ihre Aktionen in VBA-Code. Mit etwas VBA-Kenntnissen können Sie jedoch Erstellen Sie benutzerdefinierte Funktionen, Formulare und sogar Applets in Excel.

Warum Makros verwenden? Echte Vorteile

Der Hauptzweck eines Makros ist Vermeiden Sie Wiederholungsarbeiten und minimieren Sie FehlerWenn Sie jeden Monat denselben Bericht erstellen, erspart Ihnen ein Makro die mechanischen Schritte und ermöglicht Ihnen, sich auf das Wesentliche zu konzentrieren.

Zu den Vorteilen zählen Zeitersparnis, konsequente Ausführung (ohne Vergessen) und die Möglichkeit, Verknüpfungen und Schaltflächen zur Beschleunigung von ProzessenWenn Sie Excel gelegentlich verwenden, lohnt es sich möglicherweise nicht. Wenn Sie es jedoch täglich verwenden, werden Sie den Unterschied vom ersten Tag an bemerken.

Aktivieren Sie die Registerkarte „Entwickler“ (Windows und Mac).

Das Entwicklermenü ist standardmäßig ausgeblendet. Klicken Sie in Windows mit der rechten Maustaste auf das Menüband und wählen Sie „Menüband anpassen“. Wählen Sie „Entwickler“ und bestätigen Sie. Danach Sie sehen die Registerkarte Entwickler neben Vista.

Auf einem Mac gehen Sie zu Excel > Einstellungen > Symbolleisten & Menüband. Wählen Sie unter „Hauptregisterkarten“ die Option „Entwickler“ und speichern Sie. Dadurch erhalten Sie Zugriff auf die Symbolleiste. der Rekorder, Zugriff auf VBA und Steuerelemente. Wenn Sie gerade erst anfangen, schauen Sie sich die grundlegende Excel-Bedienung um Sie durch das Menüband und die Optionen zu führen.

So erstellen Sie Makros mit dem Recorder

Der Rekorder ist ein guter Ausgangspunkt. Vergeben Sie unter Programmierer > Makro aufzeichnen (oder Alt+T+M+R unter Windows) einen aussagekräftigen Namen. Wichtig: Der Name muss mit einem Buchstaben beginnen. ohne Leerzeichen oder Symbole.

Wählen Sie den Speicherort: „Diese Arbeitsmappe“ funktioniert in den meisten Fällen. Wenn Sie die Arbeitsmappe immer verfügbar haben möchten, wählen Sie „Persönliche Makro-Arbeitsmappe“. Excel erstellt/speichert sie dann unter Personal.xlsb, das sich versteckt mit Excel öffnet.

Optional können Sie eine Tastenkombination hinzufügen. Um Konflikte (z. B. den Verlust von Strg+Z) zu vermeiden, empfiehlt es sich, Kombinationen mit Strg+Umschalt zu verwenden. Sie können auch eine Tastenkombination eingeben. kurze und klare Beschreibung (sehr nützlich, wenn Sie viele Makros haben).

Klicken Sie auf OK und führen Sie die Aktionen aus, die Sie aufzeichnen möchten. Wählen Sie beispielsweise A1 aus und wenden Sie das Format "Prozent" an. Vermeiden Sie unnötige Klicks oder Auswahländerungen, die nicht Teil des beabsichtigten Prozesses sind, denn der Rekorder zeichnet fast alles auf.

  Vorteile von Business-Software: Ein vollständiger Leitfaden

Wenn Sie fertig sind, beenden Sie die Aufzeichnung. Um die Aufzeichnung auszuführen, gehen Sie zu Entwickler > Makros (oder Alt+F8), wählen Sie Ihr Makro aus und drücken Sie Ausführen. Sie werden sehen, wie Excel Wiederholen Sie die Schritte in genau derselben Reihenfolge.

Ausführen, Bearbeiten und Verwalten Ihrer Makros

Unter Programmierer > Makros (Alt+F8) können Sie Makros ausführen, bearbeiten oder löschen. Wenn Sie Bearbeiten wählen, öffnet sich der Visual Basic-Editor mit dem aufgezeichneten Code, den Sie bearbeiten können. reinigen und optimieren (beinhaltet normalerweise redundante Schritte).

Das Zuweisen eines Makros zu einer Schaltfläche oder Form ist sehr praktisch: Fügen Sie eine Form ein, klicken Sie mit der rechten Maustaste auf > Makro zuweisen, wählen Sie das Makro aus, und fertig. Wenn Sie auf die Form klicken, wird sofort ausgeführt.

Um es immer griffbereit in der Symbolleiste für den Schnellzugriff zu haben, öffnen Sie das Menü (Pfeil nach unten) > Weitere Befehle > unter "Befehle verfügbar in", wählen Sie "Makros", fügen Sie Ihre eigenen hinzu und ändern Sie das Symbol, wenn Sie möchten. Jetzt haben Sie eine permanente Schaltfläche auch wenn Sie nicht im Programmierer-Modus sind.

Wenn Sie das Makro in einer anderen Arbeitsmappe wiederverwenden möchten, können Sie das Modul aus dem Visual Basic-Editor kopieren. Öffnen Sie VBE (Alt+F11), ziehen Sie das Modul in eine andere geöffnete Arbeitsmappe oder verwenden Sie Exportieren/Importieren der .bas-Datei.

Makros in Excel mit dem Visual Basic (VBA) Editor programmieren

Um über den Recorder hinauszugehen, öffnen Sie den Editor mit Alt+F11. Fügen Sie ein Modul ein (Einfügen > Modul) und erstellen Sie Ihre erste Subroutine. Das Grundmuster ist Subname() … End Sub.

Um beispielsweise eine Nachricht anzuzeigen und einen Wert in A1 zu schreiben, können Sie mit etwas Einfachem beginnen. Auf diese Weise verstehen Sie die Struktur und wie Sie das Makro aus Excel aufrufen (Alt+F8) oder es einer Schaltfläche zuweisen, mit sehr wenige Zeilen:

Sub Primera_Macro()
    Range("A1").Value = "Esto de las macros mola."
    MsgBox "Hola, querido amigo."
End Sub

Ein weiteres kurzes Beispiel zum Anwenden des Prozentformats auf die aktuelle Auswahl. Dieses Makro replizieren, was Sie mit dem Rekorder gemacht haben, aber direkt geschrieben:

Sub FormatoPorcentaje()
    Selection.Style = "Percent"
End Sub

Die ideale Kombination ist: Aufzeichnen, um den Vorgang zu beschleunigen, dann Öffnen der VBE, um unnötige Schritte zu bereinigen, Variablen, Bedingungen oder Schleifen hinzuzufügen. Auf diese Weise verwandeln Sie eine „wörtliche“ Aufzeichnung in ein Makro. robust und wiederverwendbar.

Absolute vs. relative Referenzen

Standardmäßig erstellt der Recorder Makros im absoluten Modus: Er wirkt immer auf die gleichen Zellen (z. B. B3), unabhängig davon, wo Sie sich bei der Ausführung befinden. Wenn die Daten ihre Position in Ihrem Prozess ändern, kann dies nicht das zu sein, was du brauchst.

Mit "Relative Referenzen verwenden" arbeitet das Makro relativ zur aktiven Zelle, wenn es ausgeführt wird. Wenn Sie beispielsweise in B3 mit der Aufnahme begonnen und "Vorname", "Nachname" usw. eingegeben haben, während Sie sich nach rechts bewegt haben, wird es beim Ausführen von C4 von C4, D4, E4… relativ.

Ein typisches Beispiel: die Überschrift einer Tabelle, die mal in B3 und mal in C5 beginnt. Im absoluten Modus würde man immer in B3 schreiben. Im relativen Modus würde sich die Überschrift an die ausgewählte Startzelle.

Häufige Fehler bei der Prozessaufzeichnung

Ein häufiger Fehler besteht darin, eine Formel für beispielsweise drei Zeilen aufzuzeichnen und zu glauben, dass dies auch für längere Tabellen funktioniert. Der Recorder zeichnet etwas auf, das dem entspricht:Füllen Sie drei Zellen nach unten", nicht "bis zum Ende der Tabelle."

Die Lösung besteht darin, den Ansatz zu ändern: Verwenden Sie Dynamikbereiche (z.B. letzte Zeile erkennen), Schleifen oder die CurrentRegion-Methode, oder passen Sie das Makro nach der Aufzeichnung in VBA so an, dass skaliert auf jede Größe.

  Was ist ein ERP und wofür wird es verwendet?

Gute Praktiken bei der Aufnahme

Führen Sie den manuellen Vorgang vor der Aufnahme einige Male durch, um ihn zu verfeinern. Machen Sie Aufnahmen kurz und konkret statt einem großen; dadurch sind sie leichter zu pflegen und zu kombinieren.

Vermeiden Sie unnötige Klicks, unnötiges Scrollen und unwichtige Auswahlmöglichkeiten. Halten Sie den Makronamen und die Beschreibung klar, damit Sie oder Ihre Teamkollegen Sie erkennen seinen Zweck sofort.

Makros auf viele Arten ausführen

Zusätzlich zum Makrofeld (Alt+F8) können Sie Makros über eine Form, eine Schaltfläche in der Symbolleiste für den Schnellzugriff oder beim Öffnen der Arbeitsmappe starten. Sie können Excel das Makro sogar aus anderen Office-Anwendungen heraus ausführen lassen, sodass Sie Automatisieren Sie Multi-Application-Aufgaben (z. B. Aktualisieren einer Tabelle und Senden einer E-Mail über Outlook).

Überlegen Sie gut, welche Tastenkombinationen Sie verwenden: Wenn Sie Strg+Z einem Makro zuweisen, können Sie die Aktion nicht mehr rückgängig machen, während die Arbeitsmappe geöffnet ist. Daher empfiehlt es sich, Kombinationen mit Strg + Umschalt um Konflikte zu vermeiden.

Speichern von Arbeitsmappen mit Makros

Wenn eine Datei VBA enthält, speichern Sie sie als .xlsm, damit der Code erhalten bleibt und ausgeführt werden kann. Wenn Sie sie als .xlsx speichern, Sie verlieren das VBA-ProjektWenn Sie globale Makros möchten, verwenden Sie die persönliche Makro-Arbeitsmappe (Personal.xlsb).

Sicherheit und Aktivieren von Makros

Makros können je nach Ihren Sicherheitseinstellungen blockiert werden. Überprüfen Sie das Trust Center, um sie selektiv zu aktivieren, und aktivieren Sie niemals Makros aus unbekannten Quellen. Wenn Sie Ihr Sicherheitsniveau kennen, können Sie Schutz und Produktivität in Einklang bringen.

Zuweisen von Makros zu Schaltflächen, Formen und Steuerelementen

Damit ein Benutzer sie ohne Nachdenken ausführen kann, weisen Sie einem Button, einer Form oder einem Steuerelement ein Makro zu. Klicken Sie mit der rechten Maustaste auf das Objekt > Makro zuweisen > auswählen. Sie können auch Platzieren Sie ein Symbol auf dem Menüband oder der Schnellzugriffsleiste und verknüpfen Sie es mit dem Makro.

Wenn Sie Formulare oder ActiveX-Steuerelemente verwenden, können Sie ihnen Makros oder Ereignisprozeduren (z. B. beim Klicken) zuweisen. Dies ermöglicht benutzerfreundlichere Schnittstellen und geführte Prozesse.

Nützliche Makrobeispiele (VBA)

Diese Beispiele veranschaulichen gängige Aufgaben. Sie können sie in ein Modul einfügen (Alt+F11 > Einfügen > Modul) und anpassen. Denken Sie daran, die Bücher zu unterschreiben oder die Sicherheit anzupassen, falls Ihre Organisation dies erfordert. in der Lage sein, sie ohne Warnungen auszuführen.

Kopieren Sie den ausgewählten Inhalt an eine andere Stelle auf demselben Blatt: Auswahl.Kopierziel

Sub CopiarSeleccion()
    If TypeName(Selection) = "Range" Then
        Selection.Copy Destination:=Selection.Offset(0, 2)
    Else
        MsgBox "Selecciona un rango de celdas primero."
    End If
End Sub

Drucken Sie das aktive Blatt: ActiveSheet.PrintOut

Sub ImprimirHojaActual()
    ActiveSheet.PrintOut
End Sub

Speichern Sie die Datei als Arbeitsmappe mit Makros (.xlsm): ActiveWorkbook.SaveAs

Sub GuardarComoXlsm()
    Dim ruta As String
    ruta = ThisWorkbook.Path & Application.PathSeparator & "LibroConMacros.xlsm"
    ActiveWorkbook.SaveAs Filename:=ruta, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Formatieren Sie einen Bereich (passen Sie den Bereich Ihren Anforderungen an): Mit Reichweite(…)

Sub FormatoRango()
    With Range("A1:D10")
        .Font.Bold = True
        .Interior.Color = RGB(230, 230, 250)
        .Borders.LineStyle = xlContinuous
    End With
End Sub

Suchen Sie einen Wert in einem Bereich und zeigen Sie die erste Übereinstimmung an: Bereich(…).Finden

Sub BuscarValor()
    Dim celda As Range
    Dim valor As String
    valor = InputBox("¿Qué valor quieres buscar?")
    If valor = "" Then Exit Sub
    Set celda = Range("A1:D1000").Find(What:=valor, LookIn:=xlValues, LookAt:=xlPart)
    If Not celda Is Nothing Then
        MsgBox "Encontrado en: " & celda.Address
        celda.Select
    Else
        MsgBox "No se encontró el valor especificado."
    End If
End Sub

Praxisfall: Formatierung als Prozentwert

Aufnahme: Starten Sie die Aufnahme, benennen Sie sie, wählen Sie den Speicherort und weisen Sie optional eine Verknüpfung und Beschreibung zu. Markieren Sie die Zellen und wenden Sie "Prozent" aus dem Startmenü an. Stoppen Sie die Aufnahme und starten Sie sie anschließend mit Alt+F8. Wenn Sie die Aufnahme mit minimalistischem Code abspielen möchten, verwenden Sie Auswahl.Stil = "Prozent" in VBA.

  Gemini Code Assist: KI-Assistent für Programmierer jetzt kostenlos verfügbar

Tipp: Ändern Sie während der Aufzeichnung nicht ohne Grund die Zellen. Diese Änderungen werden aufgezeichnet und können verlangsamen und das Makro verschmutzen.

Automatisieren Sie lange Aufgaben: Kleine Makros sind besser

Wenn Sie einen Prozess mit vielen Schritten haben, sollten Sie ihn in mehrere kleinere Makros aufteilen und diese in einer Kette aufrufen. Dies erleichtert die Wartung und ermöglicht Ihnen Blöcke wiederverwenden und vereinfacht das Debuggen.

Beispielsweise ein Makro zum Vorbereiten der Daten, ein anderes zum Formatieren, ein weiteres zum Erstellen eines Druckbogens und ein weiteres zum Exportieren in PDF oder mailSie können sie einzeln oder alle gleichzeitig anrufen.

Aufgezeichneten Code bearbeiten und bereinigen

Der Recorder erfasst „alles“: Auswahlen, Klicks und Tabulatorwechsel. Beim Öffnen der VBE entfernt er unnötige Auswahlen (Select/Selection) und ersetzt sie durch direkte Referenzen (z. B. Bereich("A1").Wert = …) und gruppiert Formate in Blöcke mit/Ende mit.

Es werden außerdem Variablen und eine grundlegende Fehlerbehandlung hinzugefügt. Einige If-Anweisungen und einfache Prüfungen verhindern Fehler, wenn der Bereich leer ist oder die Auswahl entspricht nicht den Erwartungen.

Häufig gestellte Fragen

Wie erstelle ich ein Formular (UserForm) in Excel? Öffnen Sie den Visual Basic-Editor (Alt+F11), gehen Sie zu Einfügen > UserForm und fügen Sie Steuerelemente (Textfelder, Schaltflächen usw.) hinzu. Sie können diese mit einem Makro anzeigen:

Sub MostrarFormulario()
    UserForm1.Show
End Sub

Von dort aus weisen Sie den Ereignissen der Steuerelemente Prozeduren zu (z. B. Klicken auf eine Schaltfläche), sodass Führen Sie die benötigte Logik aus.

Wie schütze/entschütze ich ein Blatt mit Makros? Verwenden Sie diese Routinen, um Ihr Passwort nach Ihren Wünschen zu ändern. Sie ermöglichen Ihnen Schutz mit einem Klick aktivieren oder entfernen:

Sub ProtegerHoja()
    ActiveSheet.Protect Password:="segura", AllowFiltering:=True
End Sub

Sub DesprotegerHoja()
    ActiveSheet.Unprotect Password:="segura"
End Sub

Wie lösche ich ein Makro? Gehen Sie zu „Programmierer > Makros“, wählen Sie das Makro aus und drücken Sie die Entf-Taste. Wenn Sie den gesamten Code in einem Modul löschen möchten, öffnen Sie die VBE (Alt+F11), suchen Sie das Modul im Projekt, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Löschen“. Modul entfernen (Sie können es zuerst exportieren, wenn Sie es speichern möchten).

Ein letzter praktischer Hinweis: Wenn Sie einen Monatsbericht formatieren, in dem Kunden mit Schulden rot und fett dargestellt werden sollen, zeichnen Sie die Sequenz einmal auf, passen Sie den VBA-Code an, um ihn auf den richtigen Bereich anzuwenden (mithilfe der Erkennung der letzten Zeile oder Filtern), und speichern Sie das Makro in Ihrer persönlichen Makro-Arbeitsmappe. Beim nächsten Mal genügt eine Tastenkombination oder Schaltfläche, um die Formatierung sofort anzuwenden. fehlerfrei und in Sekunden.

Makros in Excel
In Verbindung stehender Artikel:
Makros in Excel: So automatisieren Sie Aufgaben und steigern Ihre Produktivität