Excel'de tıkladığınız her menü, aslında arka planda VBA (Visual Basic for Applications) diliyle yazılmış bir koddur. Makro, bu dille yazdığınız ve tek tıkla çalıştırabildiğiniz kod parçasıdır. Bu derste makro yazmaya başlamak için gereken temelleri kuracağız.
1. Adım: Geliştirici Sekmesini Etkinleştirmek
Geliştirici sekmesi Excel'de varsayılan olarak gizlidir:
- Dosya → Seçenekler → Şeridi Özelleştir'e gidin.
- Sağ taraftaki listede Geliştirici'nin yanındaki kutucuğu işaretleyin → Tamam.
Artık üst şeritte bir Geliştirici sekmesi göreceksiniz.
2. Adım: VBA Editörünü Açmak
Alt + F11 kısayolu VBA editörünü açar (Geliştirici sekmesinden Visual Basic butonuyla da ulaşabilirsiniz). Sol taraftaki Project Explorer panelinde, açık olan Excel dosyanızın sayfalarını görürsünüz.
3. Adım: Yeni Bir Modül Oluşturmak
Kodunuzu yazacağınız yer bir modüldür: Project Explorer'da projeye sağ tıklayın → Insert → Module.
4. Adım: İlk Makronuzu Yazmak
Modül penceresine bir makro adı yazıp Enter'a basın — Excel otomatik olarak Sub ve End Sub satırlarını oluşturur:
Sub Kirmizi()
Worksheets("Sayfa1").Range("D5").Value = "Berke"
End Sub
Bu kod, "Sayfa1" adlı sayfadaki D5 hücresine "Berke" metnini yazar.
5. Adım: Kaydetmek ve Çalıştırmak
Makro içeren bir dosyayı kaydederken normal .xlsx formatı çalışmaz — Farklı Kaydet'ten Makro İçerebilen Excel Çalışma Kitabı (.xlsm) formatını seçmeniz gerekir.
Kodu çalıştırmak için VBA editöründe F5 tuşuna basabilir, ya da Excel'e dönüp Geliştirici → Makrolar'dan seçip Çalıştır diyebilirsiniz.
Hücre Biçimlendirmeyi Kod ile Değiştirmek
Sub Bicimlendir()
With Worksheets("Sayfa1").Range("D5")
.Font.Bold = True
.Font.Italic = True
.Font.Size = 14
End With
End Sub
Bir Makroyu Bir Düğmeye Atamak
Bir şekil veya buton çizip üzerine sağ tıklayın → Makro Ata → çalıştırmasını istediğiniz makroyu seçin. Artık o şekle her tıkladığınızda makro çalışır.
İpucu: Kod Yazarken Öneri Almak
VBA editöründe bir nesne adı yazıp nokta (.) koyduğunuzda, o nesnenin sahip olduğu özellik/metotların listesi otomatik açılır (IntelliSense) — tüm VBA komutlarını ezberlemenize gerek yok, bu liste size rehberlik eder.
Sırada Ne Var?
Sırada, hiç kod yazmadan Excel'in işlemlerinizi otomatik kaydedip VBA koduna çevirdiği Makro Kaydedici var.