Microsoft firasının Office ürünlerine dahil ettiği program geliştirme ortamı ve programlama dili. Visual Basic dili ile program yazma imkanı sağlar. Arayüzü ve komut seti Visual Basic 6.0 ile hemen hemen aynıdır, aynı kodlar karşılıklı olarak iki ortamda da çalıştırılabilir.
Uygulamalara kod ile müdahale imkanı verir. makro olarak da bilinir.
Microsoft dışında başka firmalar da ürünlerine VBA desteği eklemişlerdir. Örneğin ArcGIS, autocad, SolidWorks, CorelDraw ve WordPerfect uygulamaları da VBA kullanımını destekler.
VBA ile neler yapılabilir? Neler yapılamaz?
Mevcut Excel fonksiyonlarının yeterli gelmediği yerlerde kendi fonksiyonlarınızı yazabilirsiniz. Office uygulamaları içerisinde tekrarlı işleriniz varsa bunları otomatize edebilirsiniz.
dll ve activex kullanabildiği için Windows API kullanabilirsiniz; yani aklınıza gelebilecek bir çok işlemi yapabilirsiniz.
Ne yapamazsınız? ActiveX, dll ve Exe dosya oluşturamazsınız, yani yazdığınız kodlar Office uygulamalarından bağımsız halde çalışamaz.
Office 2010 versiyonu ile birlikte 64 bit Office kullanıyorsanız, 32 bit eski ActiveX leri kullanamazsınız. Problem yaşayacağınız komponentler MSComCtl ve MSComCtl2 içerisinde bulunanlardır. Yani VBA içerisinde bir Form kullanıp üzerine scroll bar, takvim, treeview gibi kontroller koyduysanız 32 bit Office sürümü kullanmanız gerekir.
Güvenlik tarafı nasıldır? Kötü niyetli birinin yazdığı kod, dışarıdan Dll kullanarak ya devcut VBA komut seti ile bilgisayarınızdan şifreleri çalabilir, bir virüsü aktifleştirebilir vs. Bu yüzden VBA nın çalışması için güvenlik ayarlarından izin vermeniz gerekir.
İşletmelere ne kazandırır? VBA kullanarak küçük ve orta büyüklükteki bir şirketin bir çok ihtiyacını karşılayacak yazılımları geliştirebilirsiniz. Öğrenmesi kolay ve dışarıdan hazır yazılım almaktan çok daha ucuza geldiği için bir çok orta ve küçük işletmelerde içerisinde VBA bulunan Excel imparatorlukları oluşmuştur.
İşletmelere ne kaybettirir? Şirket içinde imparatorluk kuran makrocular şirket içine kök salar. Genellikle yazılım eğitimi almamış, deneme yanılma ile kendini geliştirmiş kişilerdir. Şirketten ayrıldıklarında kurmuş oldukları Excel imparatorluğu müdahale edilemeyen, yok edilemeyecek kadar şirket içi süreçlere işlemiş bir şirket kanserine dönüşür.