Excel Makros

Makros in Excel sind eine leistungsstarke Funktion, die es Benutzern ermöglicht, Aufgaben zu automatisieren und wiederholbare Aufgaben effizienter durchzuführen. Ein Makro ist eine Reihe von Befehlen und Funktionen, die in einer bestimmten Reihenfolge ausgeführt werden.

Grundlagen der Makroerstellung

Makros werden mithilfe der Programmiersprache VBA (Visual Basic for Applications) erstellt. Der einfachste Weg, ein Makro zu erstellen, ist jedoch die Verwendung des Makro-Rekorders, der die Aktionen aufzeichnet und in VBA-Code umwandelt.

Makros aktivieren

Damit Makros verwendet werden können müssen die Entwickler Tools aktiviert werden.

  • Datei -> Optionen -> Menüband anpassen -> Entwickler Tools aktiveren Entwickler_Tools_aktivieren
  • Sobald die Entwickler Tools aktiviert sind, erscheint der entsprechende Menüpunkt automatisch. Entwickler_Tools

XSLM-Format

Excel-Dateien müssen im XLSM-Format abgespeichert werden, damit Makros verwendet werden können. XSLM-Format

Makro aufzeichnen

  1. Gehe zu Entwicklertools > Makro aufzeichnen.
  2. Gib einen Namen für das Makro ein.
  3. Wähle, ob das Makro in dieser Arbeitsmappe oder einer neuen Arbeitsmappe gespeichert werden soll.
  4. Führe die gewünschten Aktionen in Excel aus.
  5. Beende die Aufzeichnung durch Klicken auf Aufzeichnung beenden.

Makro starten

Es gibt verschiedenen Möglichkeiten ein Makro zu starten.

  • Tastenkombination: Wird ein Makro aufgezeichnet, dann kann eine Tastenkombination gewählte werden. Sobald das Makro erstellt wurde kann es mit der gewählten Tastenkombination gestartet werden. Tastenkombination
  • Grafikobjekt: Ausserdem gibt es die Möglichkeit einen Knopf bzw. ein Grafikobjekt in die Tabelle einzufügen und diese als Knopf zu verwenden. Durch einen Rechtsklick auf das Grafikobjekt kann das Makro zugewiesen werden. Grafikobjekt_zuweisen
  • Standard: Entwicklertools -> Makros-> Makro auswählen -> Ausführen
  • Schaltfläche: Es gibt auch die Möglichkeit einen zusätzlichen Knopf in das Excel Menu hinzuzufügen. SchaltflächeSchaltfläche_resultat

VBA-Editor

Um den Code eines aufgezeichneten Makros zu bearbeiten oder eigene Makros zu schreiben, verwende den VBA-Editor.

Zugriff auf den VBA-Editor

  1. Gehe zu Entwicklertools > Visual Basic.
  2. Der VBA-Editor öffnet sich, und du kannst den Code deiner Makros sehen und bearbeiten.
  3. Es können auch neue Makros erstellt werden: Einfügen -> ProzedurProzedur

Beispielcode eines einfachen Makros

Sub ZelleFormatieren()
    Range("A1").Select
    With Selection
        .Font.Bold = True
        .Interior.Color = RGB(255, 255, 0)
    End With
End Sub

prozedur-beispiel

Schleifen

Makros können Schleifen und Bedingungen verwenden, um komplexe Aufgaben auszuführen.

  • For-Schleife: Ein Beispiel für eine For-Schleife, die durch die ersten 10 Zellen in Spalte A geht und deren Werte um 1 erhöht:
Sub SchleifeErhöhen()
    Dim i As Integer
    For i = 1 To 10
        Cells(i, 1).Value = Cells(i, 1).Value + 1
    Next i
End Sub

Syntax For-Schleife

For counter = start To end [Step step]
    ' Codeblock
Next counter
  • counter: Eine Variable, die den Schleifenzähler darstellt.
  • start: Der Anfangswert des Zählers.
  • end: Der Endwert des Zählers.
  • step (optional): Die erhöhung des Zählers. Standard ist die erhöhung um 1.

Verzweigung

Die If-Bedingung wird verwendet, um bedingte Anweisungen auszuführen. If funktioniert gleich wie die WENN Funktion von Excel.

  • If-Verzweigung: Ein Beispiel für eine If-Bedingung, die den Wert in Zelle A1 überprüft und eine Nachricht anzeigt:
Sub BedingungÜberprüfen()
    If Range("A1").Value > 10 Then
        MsgBox "Der Wert ist grösser als 10"
    Else
        MsgBox "Der Wert ist 10 oder kleiner"
    End If
End Sub

Syntax If-Verzweigung

If condition Then
    ' Codeblock
[ElseIf condition2 Then
    ' Anderer Codeblock]
[Else
    ' Anderer Codeblock]
End If
  • condition: Eine Bedingung, die wahr oder falsch sein kann.
  • ElseIf condition2 (optional): Eine weitere Bedingung.
  • Else (optional): Anweisungen, die ausgeführt werden, wenn keine der vorhergehenden Bedingungen wahr ist.

Interaktive Makros

Makros können Benutzereingaben anfordern und Nachrichten anzeigen, um interaktiv zu sein.

InputBox

Die `InputBox-Funktion zeigt ein Dialogfeld an, in dem der Benutzer eine Eingabe machen kann.

variable = InputBox(prompt, [title], [default])
  • prompt: Der Text, der im Dialogfeld angezeigt wird.
  • title (optional): Der Titel des Dialogfelds.
  • default (optional): Der Standardwert, der in der Eingabezeile angezeigt wird.

MsgBox

Die MsgBox-Funktion zeigt ein Meldungsfeld an.

response = MsgBox(prompt, [buttons], [title])
  • prompt: Der Text, der im Meldungsfeld angezeigt wird.
  • buttons (optional): Die Schaltflächen und Symbole, die im Meldungsfeld angezeigt werden.
  • title (optional): Der Titel des Meldungsfelds.
Sub BenutzerAbfragen()
    Dim Antwort As String
    Antwort = InputBox("Wie ist Ihr Name?", "Namenseingabe", "Max Mustermann")
    MsgBox "Hallo " & Antwort & ", willkommen in Excel!"
End Sub

Kommentare und Dokumentation

Verwende Kommentare, um den Code zu dokumentieren und die Wartung zu erleichtern.

Sub BeispielMakro()
    ' Dies ist ein Kommentar
    Range("A1").Value = "Hallo, Welt!" ' Setzt den Wert von A1 auf "Hallo, Welt!"
End Sub

Detaillierte Anleitungen:

Quiz

Aufgaben

Für diese Aufgabe wird eine Excel-Datei zur verfügung gestellt: Excel-Ausrichtung.