VBA Nedir?
İngilizce: Visual Basic for Applications
Yayın: · Son güncelleme:
VBA Nedir? Kısaca
VBA (Visual Basic for Applications), Microsoft Office uygulamalarına gömülü bir programlama dilidir. Excel'de makroların yazıldığı dildir ve tekrarlanan işleri otomatikleştirmek, özel fonksiyon ve formlar oluşturmak için kullanılır.

VBA nedir?
VBA, Visual Basic for Applications ifadesinin kısaltmasıdır ve Excel, Word, Outlook gibi Office uygulamalarının içine yerleştirilmiş bir programlama dilidir. Excel'de kaydettiğiniz her makro arka planda VBA koduna dönüşür. Kodu doğrudan yazarak kaydedicinin yapamadığı koşullu ve döngülü işleri de otomatikleştirebilirsiniz.
VBA kodu ayrı bir program kurmadan, Excel'in içindeki VBA düzenleyicisinde yazılır. Alt+F11 ile bu düzenleyici açılır.
Neler yapılabilir?
VBA ile hücrelere değer yazmak, sayfa eklemek, dosya açıp kapatmak, e-posta oluşturmak ve başka Office uygulamalarını yönetmek mümkündür. Kendi çalışma sayfası fonksiyonlarınızı da yazabilirsiniz. Kullanıcıdan bilgi isteyen özel pencereler ise UserForm ile hazırlanır.
Basit bir örnek
Aşağıdaki kod, A sütunundaki dolu her hücrenin yanına bugünün tarihini yazar:
Sub TarihEkle()
Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 2).Value = Date
Next i
End Sub
Kodun komut adları İngilizcedir. Excel arayüzü Türkçe olsa da VBA'da Range, Cells, Value gibi ifadeler değişmez; çalışma sayfası fonksiyonları da kod içinde İngilizce adlarıyla çağrılır.
Nelere dikkat etmeli?
VBA yalnız masaüstü Excel'de çalışır. Excel'in web ve mobil sürümlerinde makrolar çalıştırılamaz. VBA içeren dosyalar .xlsm ya da .xlsb biçiminde kaydedilmelidir.
Başlamak için kısa bir işlemi makro kaydetme ile kaydedip üretilen koda göz atın. Bu kod, dilin yapısını öğrenmek için iyi bir başlangıç noktasıdır.
Sıkça Sorulan Sorular
VBA öğrenmek zor mu?
Temel düzeyde zor değildir. Makro kaydedicinin ürettiği kodu inceleyerek başlamak, değişken, döngü ve koşul gibi temel kavramları birkaç hafta içinde öğrenmeyi kolaylaştırır.
VBA yerine kullanılabilecek araçlar var mı?
Veri temizleme ve birleştirme için Power Query, Excel'in web sürümünde otomasyon için Office Scripts kullanılabilir. Masaüstü Excel'deki derin otomasyonlarda VBA hâlâ yaygın biçimde kullanılır.