Visual Basic za aplikacije (VBA) je implementacija Microsoftovog programskog jezika Visual Basic 6.0 ugrađenog u većinu desktop Microsoft Office aplikacija. Iako je zasnovana na pre-.NET Visual Basic-u, koji Microsoft više ne podržava niti ažurira, VBA za Office nastavlja da se ažurira kako bi podržala nove Office funkcije. VBA se koristi za profesionalni development i development namenjen krajnjim korisnicima zbog lakoće korišćenja, velike korisničke baze Office-a i dugogodišnjeg korišćenja ovog programa u poslovanju.
Visual Basic za aplikacije omogućava pravljenje korisnički definisanih funkcija (UDF), automatizaciju procesa i pristup Windows API-ju, kao i drugim funkcionalnostima preko biblioteka sa dinamičkim vezama (DLL). On zamenjuje i proširuje sposobnosti ranijih makro programskih jezika specifičnih za aplikacije kao što je Word-ov WordBASIC. Može se koristiti za kontrolu mnogih aspekata host aplikacije, uključujući manipulisanje funkcijama korisničkog interfejsa, kao što su meniji i toolbar-a, i rad sa prilagođenim korisničkim formama ili prozorima za dijalog.
VBA je blisko povezan sa Visual Basic-om i koristi Visual Basic Runtime biblioteku. Međutim, VBA kod se obično može pokrenuti samo u okviru host aplikacije, ne i kao samostalni program. VBA, međutim, može da kontroliše jednu aplikaciju kroz drugu koristeći OLE automatizaciju. Na primer, VBA može automatski da kreira Microsoft Word izveštaj od podataka iz Microsoft Excel-a koje Excel automatski prikuplja iz senzora. VBA može da koristi, ali ne i da kreira, ActiveX/COM DLL-ove, a kasnije verzije imaju i podršku za klasne module.
VBA je ugrađen u većinu Microsoft Office aplikacija, uključujući Office za Mac OS X (osim verzije 2008), i druge Microsoft aplikacije, uključujući Microsoft MapPoint i Microsoft Visio. VBA je takođe implementiran, barem delimično, u aplikacije koje su objavile kompanije mimo Microsoft-a, uključujući ArcGIS, AutoCAD, CorelDraw, LibreOffice, Reflection, SolidWorks, WordPerfect i UNICOM System Architect (koji podržava VBA 7.1).