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.
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.
Damit Makros verwendet werden können müssen die Entwickler Tools
aktiviert werden.
Datei
-> Optionen
-> Menüband anpassen
-> Entwickler Tools
aktiveren
Entwickler Tools
aktiviert sind, erscheint der entsprechende Menüpunkt automatisch.
Excel-Dateien müssen im XLSM-Format abgespeichert werden, damit Makros verwendet werden können.
Entwicklertools
> Makro aufzeichnen
.Aufzeichnung beenden
.Es gibt verschiedenen Möglichkeiten ein Makro zu starten.
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.
Entwicklertools
-> Makros
-> Makro auswählen -> Ausführen
Um den Code eines aufgezeichneten Makros zu bearbeiten oder eigene Makros zu schreiben, verwende den VBA-Editor.
Entwicklertools
> Visual Basic
.Einfügen
-> Prozedur
Sub ZelleFormatieren()
Range("A1").Select
With Selection
.Font.Bold = True
.Interior.Color = RGB(255, 255, 0)
End With
End Sub
Makros können Schleifen und Bedingungen verwenden, um komplexe Aufgaben auszuführen.
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
For counter = start To end [Step step]
' Codeblock
Next counter
Die If-Bedingung wird verwendet, um bedingte Anweisungen auszuführen. If funktioniert gleich wie die WENN
Funktion von Excel.
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
If condition Then
' Codeblock
[ElseIf condition2 Then
' Anderer Codeblock]
[Else
' Anderer Codeblock]
End If
Makros können Benutzereingaben anfordern und Nachrichten anzeigen, um interaktiv zu sein.
Die `InputBox-Funktion zeigt ein Dialogfeld an, in dem der Benutzer eine Eingabe machen kann.
variable = InputBox(prompt, [title], [default])
Die MsgBox
-Funktion zeigt ein Meldungsfeld an.
response = MsgBox(prompt, [buttons], [title])
Sub BenutzerAbfragen()
Dim Antwort As String
Antwort = InputBox("Wie ist Ihr Name?", "Namenseingabe", "Max Mustermann")
MsgBox "Hallo " & Antwort & ", willkommen in Excel!"
End Sub
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:
Für diese Aufgabe wird eine Excel-Datei zur verfügung gestellt: Excel-Ausrichtung.