Unter Makros versteht man eine Softwarekomponente, die eine Folge aus Anweisungen zusammenfasst und diese gegebenefalls ausführt.
Alle Anweisungen des Makros werden automatisch an der Stelle ausgeführt, an der die Aufzeichnung begonnen wurde.
Um ein Makro aufzuzeichnen benötigt man den Makro - Recorder, der unter EXTRAS - MAKRO - AUFZEICHNEN zu finden ist.
Wenn die Aufzeichnung gestartet ist, muss sie wieder beendet werden, indem man beim erscheinenden Zusatzfenster auf AUFZEICHNUNG BEENDEN geht.
EXTRAS - MAKROS - VISUAL BASIC EDITOR oder ALT + F11
Sind eine Folge von Anweisungen, die bestimmte Aufgaben wiederverwendbar machen.
Sub Prozedurname () ... Anweisung(en) ... End Sub
Kommentare werden mit einem einfachen Hochkomma begonnen.
' Hier wird die Gesamtsumme der Mitarbeiter errechnet Sub GesamtsummeMA () ...
Formula - Formel umfasst einen absoluten Bereich
... Formula = "=SUM(A1:A20)" ... Formula = "=AVERAGE(A1:A20)"
FormulaR1C1 - Formel umfasst einen relativen Bereich
R … Row C … Column
... FormulaR1C1 = "=SUM(R[-20]C[-1]:R[-1]C[-1])" ... FormulaR1C1 = "=AVERAGE(R[-20]C[-1]:R[-1]C[-1])"
…Local - würde Formeln in deutscher Sprache zulassen
... FormulaLocal = "Summe(A1:A20)" ... FormulaR1C1Local = "Mittelwert(R[-20]C[-1]:R[-1]C[-1])"
Variablen sind eine Art von Platzhalter für Zeichenfolgen, Werte und Objekte.
Dim VARIABLENNAME As VARIABLENTYP
Die gebräuchlichen Variablentypen:
| Variablentyp | Res.Speicherplatz | Beschreibung |
| Boolean | 16 Bit, 2 Bytes | WAHR (-1) oder FALSCH (0) |
| Byte | 8 Bit, 1 Byte | 0 … +255 |
| Integer | 16 Bit, 2 Bytes | -32.768 … +32.767 |
| Long | 32 Bit, 4 Bytes | -2.147.483.648 … +2.147.483.647 |
| Currency | -922.337.203.685.477,5808 … +922.337.203.685.477,5807 | |
| Single | 32 Bit, 4 Bytes | 3,402823E38 … 1,401298E-45 und 0 |
| Double | 64 Bit, 8 Bytes | -1.79769313486231E308 bis -4,94065645841247E-324 für negative Werte und von 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte und 0 |
| Date | 64 Bit, 8 Bytes | Datum und Zeit |
| String | Zeichenfolgen | |
| Object | 32 Bit, 4 Bytes | Objekte |
| Variant | 128 Bit, 16 Bytes | Alle Typen, Voreinstellung |
| Objekttyp | Objekte wie Workbook, Range | |
| benutzerdefinierter Typ | ein oder mehrere Elemente jeden Datentyps. Der Aufbau wird mit einer Type-Anweisung deklariert |
Prozedurebene:
Eine Variable ist innerhalb einer Prozedur deklariert und nur dort gültig.
Modulebene:
Eine Variable ist innerhalb eines Moduls, in jeder Prozedur gültig und wird im Moduldkopf deklariert.
Eine Konstante ist ein definierter, fester, unveränderlicher Wert.
Const KONSTANTENNAME As KONSTANTENTYP = AUSDRUCK Const Zahl As Single = 1.1
Bei der IF … THEN … ELSE Anweisung muss die Bedingung TRUE oder FALSE entsprechen, damit die nachstehenden Anweisungen durchgeführt werden können.
IF Bedingung THEN Anweisung1 ELSE Anweisung2 EndIF
Wiederholt eine Reihe von Anweisungen so oft wie angegeben.
For Zähler = Anfang To Ende [Step Schritt] [Anweisungen] [Wiederholung For] [Anweisungen] [Exit For] [Anweisungen] Next
Die Do While Schleife wird in jedem Fall einmal durchlaufen. Sie ist damit nachprüfend.
DO WHILE Logischer Ausdruck Anweisung(en) LOOP
Erzeugt eine gewünschte Meldung, in einem Dialogfeld, auf dem Bildschirm an!
MsgBox(prompt[, buttons][, title])
MsgBox ("Befehl ausführen?", vbYesNo + vbQuestion, "Anfrage")
MsgBox ("Befehl ausführen?", 4 + 32, "Anfrage")
prompt … Ein String der als Meldung im Dialogfeld angezeigt wird
buttons … Anzahl und Art der gewünschten Schaltfläche am Dialogfeld
title … Sting der den Titel des Dialogfeldes bestimmt
Folgende Buttons und Symbole kann eine MsgBox enthalten:
Rückgabewerte der Buttons:
Hiermit kann einer Variable eine Eingabe zugewiesen werden!
VARIABLENNAME = Inputbox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context])
Vorname = Inputbox ("Bitte geben sie Ihren Vornamen ein!", "Anfrage Vorname", "Hier eintragen")
Mit Hilfe dieser Funktion können Formatierungen vorgenommen werden!
With Selection.Interior 'Innerhalb der Zellen
.ColorIndex = 43 'Grüne Farbe
.Pattern = xlSolid 'Hintergrund vollflächig färben
End With
Das Zahlenformat geht auch ohne WITH:
Selection.NumberFormat = "0.00%"
Um Bildschirmflimmern während der Ausführung zu unterdrücken
Application.ScreenUpdating = False Anweisung Application.ScreenUpdating = True
Range("A1:D5").Select 'Zellenbereich auswählen
Selection.Copy 'Auswahl kopieren
Sheets("Tabelle2").Select 'Tabellenblatt zum einfügen auswählen
Range("A1").Select 'linker - oberer Rand für das Einfügen auswählen
ActiveSheet.Paste 'einfügen
Die VBA Programmierung in Excel ermöglicht auch das Anlegen eines VBA Formulars, mit dem Daten benutzerfreundlicher in eine Exceltabelle übermittelt werden können.
Dazu muss man im VB Editor - bei VBAProjekt (linke Box) - rechte Maustaste - Einfügen - UserForm klicken und es erscheint eine graphische Benutzeroberfläche. Mittels Steuerelemente lassen sich nun Formulare entwickeln.

Beispiel: