Achtung:

Dieses Wiki, das alte(!) Projektwiki (projektwiki.zum.de)
wird demnächst gelöscht.

Bitte sichere Deine Inhalte zeitnah,
wenn Du sie weiter verwenden möchtest.


Gerne kannst Du natürlich weiterarbeiten

im neuen Projektwiki (projekte.zum.de).

Excel VBA

Aus Projektwiki - ein Wiki mit Schülern für Schüler.
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

VBA

  • VBA = Visual Basic for Applications
  • Basiert auf der Programmiersprache Visual Basic von Windows
  • Spezielle Programmiersprache für MS Office
  • Automatisierung von Sub-Routinen und Funktionen für Excel, die nach dem Eigenbedarf angepasst werden können

VBA-Editor

Aufrufen des in Excel verfügbaren VBA-Editors:
Windows:
MS Excel starten --> im geöffneten Excel die Tastenkombination "Alt + F11" drücken

Mac:
MS Excel starten --> im geöffneten Excel die Tastenkombination "fn + alt + F11" drücken
Problem: In der Office 365 Version wurde der VBA-Editor um einige elementare Funktionen reduziert.
Laut MS soll aber in der Office 2016 Version der VBA-Editor wieder vollständig implementiert sein.

Programmierungssyntax

Sub-Routinen / Funktionen

Einen VBA-Code den man im VBA-Editor schreibt, bezeichnet man als Prozedur. Gängige Prozeduren hierbei sind "Sub" und "Function". Die meisten Makros die man mit VBA realisiert sind Sub-Prozeduren.

Sub

Eine Gruppe von VBA-Anweisungen, die eine (oder mehrere) Aktionen in Excel durchführen (= Ausführung eines Befehls). Welche Aktion durchgeführt wird, hängt vom programmierten Sub-Code ab.

Function

Eine Gruppe von VBA-Anweisungen, die eine Berechnung anhand übergebener Argumente durchführt und einen einzelnen Wert liefert.

Variablen und Konstanten

Variablen sind Daten, die sich während des Organisationsablauf im Programm verändern können. Diese müssen mit einer zweistufigen Methode zunächst deklariert und anschließend initialisiert werden. Bei Konstanten erfolgt dies mittels einstufiger Methode.

Wichtig hierbei ist, dass VBA zwischen "expliziter" und "impliziter" Variablendeklaration unterscheidet:

  • explizite Deklaration: Festlegung der Variable vor ihrem Einsatz
  • implizite Deklaration: Variable wird bei ihrer ersten Verwendung in der Prozedur automatisch erzeugt (= fehleranfällig; erschwert das debuggen)

Soll eine Variable ihren Wert niemals verändern (bspw. physikalische Größen wie Kelvin, Erdbeschleunigung, o.ä.), nutzt man den Einsatz von Konstanten.

Zur einfachen Handhabung empfiehlt es sich daher, Variablen vor dem Einsatz genau zu definieren:

Einsatz Syntax
Lokale Variable

Dim [Name] As [Datentyp]
[Name] = [Wert]

Modul [Name] As [Datentyp]
Konstante Const [Name] As [Datentyp] = [Wert]

Datentypen

Übersicht
Datentyp Wertebereich und Bedeutung
Boolean Wahrheitswert: "True" oder "False"
Byte Ganze Zahl: 0 bis 255
Integer Ganze Zahl: -32.768 bis 32.767
Long Ganze Zahl: -2,1*109 bis 2,1*109
Double Gleitkommazahl mit einfacher Genauigkeit:

negative Werte: ca. -3,4*1038 bis ca. -1,4*10-45
positive Werte: ca. 1,4*10-45 bis 3,4 * 1038

Date Datumangabe zw. 1. Januar 100 bis 31. Dezember 9999
Object Verweis auf ein Objekt
String Zeichenkette mit variabler Länge
Variant Datentyp nicht explizit festgelegt (=universell)

Operatoren / Mathematische Vorschriften

Übersicht
Arithmetisch

+ (Addition)
- (Subtraktion bei 2 Operanden, Negation bei einem Operand)
* (Multiplikation)
/ (Division)
^ (Potenzierung)
\ (Ganzzahldivision, Nachkommastellen werden abgeschnitten)
mod (Modulodivision)

Addition von Zeichenketten

+ (Verkettung von (alpha-)numerischen Inhalten zu einer neuen Zeichenkette. Kann bei numerischen Ausdrücken schnell falsch verwendet werden (statt Verknüpfung findet eine Addition statt!)
& (Verkettung von (alpha-)numerischen Inhalten zu einer neuen Zeichenkette)

Vergleichsoperatoren

= (Gleich)
< (Kleiner)
> (Größer)
<= (Kleiner gleich als)
>= (Größer gleich als)
<> (Ungleich)
like (Vergleich von Zeichenmustern, kann auch Platzhalter (*) auswerten)
is (Prüfung, ob zwei Objekte auf dasselbe Objekt verweisen)

Logische Operatoren

and (Und: Das Ergebnis ist wahr, wenn beide Ausdrücke wahr sind)
or (Oder: Das Ergebnis ist wahr, falls mind. 1 von 2 Ausdrücken wahr ist)
not (Nicht: Das Ergebnis ist wahr, wenn der Ausdruck falsch ist)
xor (Exklusives oder: Das Ergebnis ist wahr, wenn genau 1 von 2 Ausdrücken wahr ist)
imp (./.)
eqv (./.)

Kontrollstrukturen

- eigene Funktion erstellen - Add Ins erstellen