Individualschulungen
Entwicklung
Aktuelle Themen
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Benutzeroberflächen / User Experience
Softwareengineering
KI in der Softwareentwicklung
Plattformen & Systeme
KI
Web & Cloud
Apps / Mobilplattformen
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Scripting
Windows & Office für Anwender
Soft Skills & IT-Recht
Das bieten nur wir
Umfangreicher Themenkatalog
Wählen Sie aus 1055 Themen
Weiterbildungsphilosophie
Individuelle Anpassung an Ihre Anforderungen
Didaktische Konzepte
Ganz nach Ihren Wünschen
Vorteile individueller Firmenseminare
Im Vergleich zu offenen Seminaren
Vor Ort oder online
Alles ist in Ihrem Hause oder online möglich
Top-Trainer
Die besten und renommiertesten Experten
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
1055 Themen, die frei anpassbar und kombinierbar sind
Gesamter Themenkatalog →
Offene Schulungen
Online-Trainings
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI, Uno & Avalonia
Blazor
ASP.NET Core WebAPI
Entity Framework Core
Unit Testing / TDD
PowerShell
Alle Seminartermine
INFOTAGE
INFOTAG ".NET 12.0"
am 22.06.2027
INFOTAG "KI" 2027
am 15.09.2027
Das bieten nur wir
Renommierte Top-Trainer
Die besten und bekanntesten Experten schulen Sie!
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Nicht das passende Thema dabei? Stellen Sie Ihre individuelle Firmenschulung aus 1055 Modulen zusammen!
Individualschulungen →
Beratung, Support & Entwicklung
Alle unsere Leistungen
Beratung
Beratung zu vielen technischen und methodischen Themen
Coaching
Projektbegleitende Unterstützung
Softwareentwicklung
Wir entwickeln einzelne Module oder ganze Anwendungen für Sie
Technischer Support
Support für einzelne technische Fragen
Individualschulungen
1055 Themen, die frei anpassbar und kombinierbar sind
Offene Seminare
Ausgewählte Themen bieten wir auch als öffentliche Online-Schulungen an.
Beratungsthemen
Anwendungsarchitektur
Datenbankzugriff/Data Access
DevOps
Frontend, GUI, UX
IT-Infrastruktur
Leistung/Performance
Machbarkeit und Prototyping
Methodik, Prozesse, Teamarbeit
Migration und Versionsumstieg
Mobilanwendungen
Reviews und Qualitätssicherung
Sicherheit/Security
Verteilte Systeme und Services
Webtechniken
Werkzeugauswahl
Weitere Themen
Auch alle Schulungsthemen sind als Beratung möglich!
Das bieten nur wir
Renommierte Top-Berater
Durch Vorträge und Veröffentlichungen sehr bekannte Experten
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Referenzprojekte
Zahlreiche Referenzprojekte
Beratung vor Ort oder remote – flexibel nach Bedarf.
Zu den Beratungsthemen →
Wissen
Publikationen & Vorträge
Fachbücher
Fachartikel
Konferenzvorträge
Weblog
Spickzettel/Cheat Sheets
Lexikon/Glossar
Programmcodebibliothek
Fallbeispiele
Newsletter
Downloads
Themenportale
Übersicht
.NET/C#/Visual Studio
.NET 11.0
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Versionshistorie
Konferenzen/Events
Community-/Leserportal
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Schulungen, Beratung, Support, Coaching, Softwareentwicklung
Unsere kommerziellen Leistungen →
Über uns
Unternehmen
Zahlen
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Unsere Top-Experten
Leitung & Kundenteam
Partner
Weitere Websites
Referenzen
Referenzkunden
Kundenaussagen
Referenzprojekte
Kontakt & Rechtliches
Kontakt
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Impressum, Datenschutz und Barrierefreiheit unter Kontakt & Rechtliches.
Rechtliches →
Erklärung des Begriffs: Visual Basic for Applications (VBA)
Begriff
Visual Basic for Applications
Abkürzung
VBA
Eintrag zuletzt aktualisiert am
06.06.2007
Zur Stichwortliste unseres Lexikons
Was ist
Visual Basic for Applications
?
Visual Basic for Applications (VBA) ist eine Light-Version von Visual Basic, die als Makrosprache für
Microsoft Office
u.a. Anwendungen eingesetzt wird. VBA besteht aus der
Programmiersprache
und einer
Entwicklungsumgebung
, die
Visual Studio 6.0
sehr ähnlich ist.
Visual Basic for Applications (VBA) ist eine Interpretersprache zur Automatisierung der Bedienung einer Anwendung und ersetzt in vielen Fällen die früheren Makrosprachen der Anwendungen. Ein VBA-Programm läuft stets innerhalb eines VBA-Host. Dieser ist eine VBA-fähige Anwendung. Vorreiter bei der Integration von VBA in Anwendungen ist Microsoft mit seiner Office-Produktfamilie. Darüber hinaus unterstützen aber auch noch viele andere Anwendungen VBA:
WordPerfect Office
CorelDraw ab Version
AGRESSO
TurboCAD Professional
IntelliCAD
Micrografx iGrafx Professional
Psipenta
Rational Rose
VBA und
Microsoft Office
In früheren Versionen der
Microsoft Office
-Produktfamilie hatten die Kernprodukte ihre eigenen Basic-Dialekte: Excel VBA, Word Basic, Access Basic. Mit
Microsoft Office
97 erfolgte eine Vereinheitlichung hinsichtlich der Sprachsyntax. Außerdem wurde PowerPoint ebenfalls VBA-fähig. Uneinheitlich blieb jedoch die
Entwicklungsumgebung
. Die Funktionen der VBA-
Entwicklungsumgebung
werden im Rahmen der fortgeschrittenen Techniken besprochen.
Grundsätzlich gilt, dass VBA interpretiert wird. Während es in Office 97 keine Möglichkeit gab, VBA zu kompilieren, ist dieser Grundsatz ab Office 2000 in einigen Fällen aufgeweicht worden. Mit VBA können nun in zwei abgegrenzten Fällen
COM
-
DLL
s erstellt werden: zum einen bei der Erstellung von
COM
-Add-ins, zum anderen bei der Erstellung von so genannten Datenumgebungen.
VBA und Scripting
Visual Basic for Applications (VBA) ist kein
Active Scripting Host
. Dennoch sind die VBA-fähigen Anwendungen eine überlegenswerte Plattform für Automatisierungslösungen, da diese weitestgehend kompatibel ist zu
VBS
cript.
Bei VBA nennt man die Anwendung, in der das VBA-Programm abläuft, einen VBA-Host. Beispiele für VBA-Hosts sind Microsoft Word, Excel, PowerPoint, Access und Visio. Auch wenn in Zusammenhang mit VBA von Kompilierung die Rede ist – mit VBA können keine eigenständig ausführbaren Anwendungen erstellt werden. Es ist immer ein VBA-Host nötig, wobei es je nach Anwendungsfall mehr oder weniger schnell möglich ist, ein VBA-Programm von einem VBA-Host in einen anderen zu portieren.
Für die Portierung von Programmcode von VBA zu Scriptcode gelten die gleichen Regeln wie für die Portierung aus der Visual Basic-Vollversion. VBA und VB 6.0 sind sich viel ähnlicher als VBA und
VBS
cript.
VBA-Projekte
VBA arbeitet ebenso wie das große VB mit Projekten, die aus verschiedenen Elementen (Modulen, Formularen, Klassenmodulen) bestehen. Im Unterschied zu VB 6.0 werden jedoch die einzelnen Elemente nicht in getrennten Dateien, sondern allesamt innerhalb einer einzigen Dokumentendatei des jeweiligen VBA-Host gespeichert (beispielsweise in Microsoft Word in einer .doc- oder .dot-Datei). Ein VBA-Projekt entspricht also einer Dokumentendatei.
Die Elemente sind komplett in die Datei integriert und können von außen nicht einzeln angesprochen werden. Die VBA-
IDE
erlaubt jedoch den Export eines Elements in eine separate Datei, die hinsichtlich der Dateierweiterungen den Dateien in VB 6.0 entspricht (.frm, .cls und .mod).
VBA verfügt seit Office 2000 auch über die Möglichkeit, komplette VBA-Projekte unabhängig von einer Office-Datei zu speichern. VBA-Projektdateien besitzen die Erweiterung .vba. Sie gehorchen einem gänzlich anderen Prinzip als VB 6.0-Projektdateien: Während ein VB 6.0-Projekt aus einer Textdatei für das Projekt sowie aus einer Textdatei für jedes enthaltene Formular bzw. Modul oder für jede enthaltene Klasse besteht, sind in einer VBA-Projektdatei alle Bausteine in einer binären Datei abgelegt.
VBA-
IDE
Die VBA-
IDE
ist der
VB6
-
IDE
sehr ähnlich. Bildschirmfenster und Menüs sind fast die gleichen. Der Projekt-Explorer zeigt allerdings nicht nur das aktuelle Projekt, sondern alle geöffneten Dokumentendateien. Dabei ist nicht nur ein einfacher Austausch von Programmcode per Cut&Paste möglich, sondern auch das Kopieren von ganzen Modulen oder Formularen per Drag&Drop.
Sie erreichen die VBA-
Entwicklungsumgebung
in Word, Excel und PowerPoint, indem Sie das Menü EXT
RAS
/MAKRO/VISUAL
BASIC
EDITOR anwählen oder aber unter EXT
RAS
/MAKRO/MAKROS ein bestehendes Makro bearbeiten.
Die Host-Anwendung hat auf ein VBA-Projekt immer noch eine aus der früheren Makrowelt geprägte Sicht. Was Word & Co. als Makro bezeichnen, ist in Wirklichkeit eine öffentliche (also nicht mit Private deklarierte) Unterroutine.
Bereits Office 97 sollte die VBA-
Entwicklungsumgebung
en der vier Office-Produkte komplett vereinheitlichen. Access ging aber einen Sonderweg. In Office 2000 ist positiv, dass die
Entwicklungsumgebung
von Access endlich auch der der anderen Office-Produkte entspricht – mit dem typischen Projekt-Explorer, der alle Codebestandteile anzeigt. Auch der in Formularen hinterlegte „Code behind Forms“ (
CBF
) wird unter dem Oberbegriff „
Microsoft Access
Klassenobjekte“ aufgelistet. Access hat innerhalb der Office-Produktfamilie hinsichtlich der Anwendungsentwicklung immer eine Sonderrolle gespielt und spielt diese auch mit Office 2000 noch.
Makrorekorder: VBA-Programme aufzeichnen
Word, Excel und PowerPoint bieten einen Makrorekorder an, der sehr hilfreiche Dienste leistet: Sie können bestimmte Aktionen in den jeweiligen Anwendungen vormachen und der VBA-Host setzt die Aktionen dann in VBA-Befehle um. Diese sind zwar nicht optimal, aber eine hervorragende Referenz für den VBA-Programmierer. Ein Makro mit dem Makrorekorder aufzuzeichnen, führt wesentlich schneller zu den gewünschten Befehlen als die Suche in der Hilfe. Leider gibt es diesen Makrorekorder nicht in Access – auch nicht in Access 2007.
Querverweise zu anderen Begriffen im Lexikon
Active Scripting Host
Entwicklungsumgebung
Programmiersprache
Visual Studio 6.0 (VS6)
Microsoft Office
Microsoft Access
Beginners All-Purpose Symbolic Instruction Code (BASIC)
Code Behind Forms (CBF)
Visual Basic Version 6.0 (VB6)
Dynamic Link Library (DLL)
Component Object Model (COM)
Integrated Development Environment (IDE)
Remote Access Service (RAS)
Visual Basic Script (VBS)
Beratung & Support
Anfrage für Beratung/Consulting zu VISUAL BASIC FOR APPLICATIONS VBA
Gesamter Beratungsthemenkatalog
Technischer Support zum Thema VISUAL BASIC FOR APPLICATIONS VBA
Schulungen
Excel-Programmierung mit Visual Basic for Applications (VBA)
Microsoft Access - Entwicklung von Datenbanklösungen inklusive VBA
Outlook-Programmierung mit Visual Basic for Applications (VBA)
Visual Basic .NET für Umsteiger von VBA/VB 4/5/6
Word-Programmierung mit Visual Basic for Applications (VBA)
Legacy-Modernisierung: Strukturierte Migration bestehender Anwendungen nach .NET und C# – insbesondere unter Einsatz von KI
Infragistics Ignite UI - Infragistics jQuery Controls (vormals NetAdvantage for jQuery)
Visual Basic .NET - Basiswissen
Visual Basic Script (VBScript/VBS) - Sprachsyntax und Praxiseinsatz
Windows Script Host (WSH)
Windows Scripting
Anfrage für eine individuelle Schulung zum Thema VISUAL BASIC FOR APPLICATIONS VBA
Gesamter Schulungsthemenkatalog
Fachbücher
VBA lernen
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr