Visual Basic for Applications, VBA – język programowania oparty na Visual Basicu (VB) zaimplementowany w aplikacjach pakietu Microsoft Office oraz kilku innych, jak na przykład AutoCAD i WordPerfect. Ta uproszczona wersja Visual Basica służy przede wszystkim do automatyzacji pracy z dokumentami, na przykład poprzez makropolecenia.
Podstawową różnicą między VBA a VB jest to, że VBA nie pozwala na tworzenie samodzielnych skompilowanych aplikacji typu EXE. Kod programu napisanego w VBA zawsze zawarty jest w dokumencie utworzonym przy pomocy programu obsługującego VBA - na przykład w pliku *.DOCX edytora MS Word lub pliku *.XLS/XLSM arkusza MS Excel. Program taki wymaga zatem środowiska uruchomieniowego, którym jest zainstalowana na komputerze aplikacja obsługująca dany dokument.
Wyjątkiem symulującym samodzielnie działające aplikacje są pliki utworzone w programie Microsoft Access, które — przy zakupie rozszerzenia Microsoft Office Developer lub innego[1] — pozwalają na uruchamianie plików Accessa na dowolnej liczbie komputerów w tzw. Microsoft Access Runtime, bez konieczności wyposażania każdego pojedynczego komputera w pełny pakiet Microsoft Office.
Od wersji 2000 pakiet Microsoft Office został wyposażony w oddzielny Edytor Visual Basic, dobrze znany programistom Visual Basic 6.0, co znacznie ułatwia pracę z kodem. W wersji 2000 dodano także możliwość współpracy programu Microsoft Access z bazą danych Microsoft SQL Server w architekturze klient-serwer.