İçeriğe geç
parazade

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?
İçindekiler
  1. VBA nedir?
  2. Neler yapılabilir?
  3. Basit bir örnek
  4. Nelere dikkat etmeli?

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.

İlgili terimler

Makro(Macro)Makro, Excel'de tekrarlanan bir dizi işlemi kaydedip tek komutla yeniden çalıştırmayı sağlayan otomasyon kaydıdır. Arka planda VBA diliyle yazılmış bir koddan oluşur ve .xlsm gibi makro destekli dosyalarda saklanır.VBA Düzenleyicisi(VBA Editor)VBA düzenleyicisi, Excel'de makro kodlarını yazmak, düzenlemek ve hata ayıklamak için kullanılan ayrı penceredir. Visual Basic Editor ya da kısaca VBE olarak da anılır ve Alt+F11 ile açılır.VBA Modülü(VBA Module)VBA modülü, Excel çalışma kitabında VBA kodlarının saklandığı kapsayıcıdır. Standart modül, sayfa ve çalışma kitabı modülleri, sınıf modülü ve UserForm modülü gibi türleri vardır.Özel Fonksiyon(User-Defined Function)Özel fonksiyon, Excel'in hazır fonksiyonları dışında kullanıcının kendisinin tanımladığı fonksiyondur. Geleneksel olarak VBA ile yazılır; Microsoft 365'te LAMBDA ile formül düzeyinde de oluşturulabilir. İngilizcede user-defined function (UDF) denir.Programlama(Programming)Programlama, bir problemi bilgisayarın uygulayabileceği net ve sıralı adımlara bölüp bu adımları bir programlama diliyle yazma işidir. Ortaya çıkan talimatlar dizisine program denir.Çalışma Sayfası(Worksheet)Çalışma sayfası, bir Excel çalışma kitabının içindeki tek bir sekmedir. Satır ve sütunlardan oluşan hücre ızgarasını taşır; ekranın altındaki Sayfa1, Sayfa2 gibi sekmelerin her biri bir çalışma sayfasıdır.Makro Kaydetme(Record Macro)Makro kaydetme, Excel'de yaptığınız tıklama ve yazma işlemlerinin kaydedici tarafından VBA koduna dönüştürülmesidir. Kod bilgisi olmadan basit otomasyonlar oluşturmanın en kolay yoludur.