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: Unterschied zwischen den Versionen
MaPost (Diskussion | Beiträge) (→Literaturverzeichnis) |
MaPost (Diskussion | Beiträge) (→Registerkarte "Entwicklungstools") |
||
Zeile 23: | Zeile 23: | ||
'''Windows:'''<br /> | '''Windows:'''<br /> | ||
[[Datei:Excel Optionen Entwicklertools.png|500px|Dialogfeld "Excel Optionen": Die Registerkarte "Entwicklertools" in MS Excel aktivieren.]] | [[Datei:Excel Optionen Entwicklertools.png|500px|Dialogfeld "Excel Optionen": Die Registerkarte "Entwicklertools" in MS Excel aktivieren.]] | ||
− | # Datei » Optionen » Dialogfeld "Excel-Optionen" wird geöffnet | + | # Register "Datei" » Optionen » Dialogfeld "Excel-Optionen" wird geöffnet |
# Auf die linke Seite des Dialogfelds "Menüband anpassen" klicken | # Auf die linke Seite des Dialogfelds "Menüband anpassen" klicken | ||
# Auf der rechten Seite des Dialogfelds in der Dropdown-Liste "Befehle auswählen", "Häufig verwendete Befehle" in der Liste auswählen | # Auf der rechten Seite des Dialogfelds in der Dropdown-Liste "Befehle auswählen", "Häufig verwendete Befehle" in der Liste auswählen |
Version vom 25. März 2016, 17:37 Uhr
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
Der VBA-Editor kann über verschiedene Wege aufgerufen werden. Der schnellste ist jeweils die Variante mit den Shortcuts, unabhängig vom Betriebssystem.
Shortcuts
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.
Registerkarte "Entwicklungstools"
Bei sämtlichen Produkten von Office 2010 steht das Register "Entwicklungstools" zur Verfügung. Standardmäßig ist dieses deaktiviert. Um es zu aktivieren, muss man folgende Schritte unternehmen:
- Register "Datei" » Optionen » Dialogfeld "Excel-Optionen" wird geöffnet
- Auf die linke Seite des Dialogfelds "Menüband anpassen" klicken
- Auf der rechten Seite des Dialogfelds in der Dropdown-Liste "Befehle auswählen", "Häufig verwendete Befehle" in der Liste auswählen
- Auf der rechten Seite des Dialogfelds einen Haken bei "Entwicklungstools" setzen.
- Mit "OK" bestätigen.
- Menüleiste "Excel" » Einstellungen ... » Ansicht » Dialogfeld "Ansicht" wird geöffnet
- Unten im Dialogfeld einen Haken bei "Registerkarte Entwickler" setzen
- Fenster schließen
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.
Die Initialisierung einer Sub-Prozedur erfolgt mit dem Schlagwort "Sub" und endet mit "End Sub". Hier ist ein Codebeispiel:
Sub TextMitteilung() MsgBox “Hallo Welt! Dies ist eine Textmitteilung.” End Sub
Function
Eine Gruppe von VBA-Anweisungen, die eine Berechnung anhand übergebener Argumente durchführt und einen einzelnen Wert liefert.
Jede Funktion startet mit dem Schlagwort "Function" und endet mit "End Function". Anbei ein Codebeispiel:
Function Quadratwurzel(Zahl) Quadratwurzel = Zahl ^ (1 / 3) End Function
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] |
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 | |
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) |
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!) |
Vergleichsoperatoren |
= (Gleich) |
Logische Operatoren |
and (Und: Das Ergebnis ist wahr, wenn beide Ausdrücke wahr sind) |
Kontrollstrukturen
Makro
Add-In
Quellen
Literaturverzeichnis
Bürschgens, Maik (2011): "Einstieg in VBA und die Officeprogrammierung am Beispiel von Excel", unter https://www.matse.itc.rwth-aachen.de/dienste/public/show_document.php?id=7946 (abgerufen am 18.03.2016).
Gogolok, Johannes (1999): "VBA-Programmierung mit Excel", unter ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/b012.pdf (abgerufen am 18.03.2016).
Internetverzeichnis
o.A. (o.J.): „Schnellstart: Aktivieren und Verwenden eines Add-Ins“, unter: https://support.office.com/de-de/article/Schnellstart-Aktivieren-und-Verwenden-eines-Add-Ins-2df59054-a46f-4fe4-bcb5-92ea461c315f (abgerufen am 25.03.2016).
Chinowsky, Ben (2009): „Erste Schritte mit VBA in Excel 2010“, unter: https://msdn.microsoft.com/de-de/library/office/ee814737(v=office.14).aspx (abgerufen am 25.03.2016).
- eigene Funktion erstellen - Add Ins erstellen