Profesyonel Excel VBA Eğitimi
En temel adımdan başlayıp kurumsal otomasyonlar yazmanızı sağlayacak herşey....
Modül 1: VBA'ya İlk Adım
1. VBA Nedir ve Bize Ne Kazandırır?
Tekrarlayan işleri otomatikleştiren VBA'nın çalışma mantığını kavrayın.
2. Geliştirici Sekmesini Açmak
Kod yazacağımız gizli VBE ekranını ve Geliştirici menüsünü aktif edin.
3. Makro Kaydedici ile Kodsuz Otomasyon
Hiç kod bilmeden Excel'in sizin hareketlerinizi kaydetmesini sağlayın.
4. Modül Ekleme ve İlk Programımız
VBE ekranında modül oluşturup ilk Sub bloğumuzu yazıyoruz.
5. Makrolu Dosyaları Doğru Kaydetmek (.xlsm)
Kodlarınızın silinmemesi için dosyayı xlsm formatında kaydetmeyi öğrenin.
6. Sayfaya Buton Ekleyip Makro Atamak
Yazdığınız kodları çalıştırmak için Excel sayfasına tıklanabilir buton ekleyin.
7. Klavye Kısayolu ile Makro Çalıştırmak
CTRL+SHIFT+A gibi tuş kombinasyonlarına kendi kodlarınızı atayın.
8. VBA Editörünü (VBE) Özelleştirmek
Kod yazarken göz yormayan font ve renk ayarlarını yapın.
9. Güvenlik Merkezi ve Makro İzinleri
Excel'in makroları engellemesini durdurmak için güvenlik ayarlarını yapılandırın.
10. Project Explorer ve Properties Pencereleri
Kod ekranının sol tarafındaki navigasyon ve özellik pencerelerini tanıyın.
Modül 2: Hücre Yönetimi
11. Range Komutu ile Hücre Seçimi
Belirli bir hücreye veya hücre aralığına Range komutu ile müdahale edin.
12. Cells Komutu ve Satır/Sütun Mantığı
Hücrelere harflerle değil, rakam kordinatlarıyla ulaşın (Cells).
13. Offset ile Göreceli Hücrelere Gitmek
Seçili olan hücrenin sağ, sol, alt veya üst komşusuna ulaşın.
14. Çoklu Alan (Aralık) Seçmek
Tek bir hücreye değil, devasa bir tablo aralığına tek kodla müdahale edin.
15. İçerik ve Biçim Temizlemek (Clear)
Hücrelerin içindeki veriyi veya arka plan renklerini makro ile silin.
16. Arka Plan Rengi Değiştirmek (Interior.Color)
Excel hücrelerini raporlama standartlarına uygun renklere boyayın.
17. Yazı Tipi ve Font Ayarları
Hücre içindeki metinleri kalın, eğik veya kırmızı yapmak.
18. Hücre Kenarlığı (Border) Eklemek
Tablolarınızın etrafına makro ile otomatik siyah çerçeveler çizin.
19. Sütun ve Satır Genişliği Ayarlamak (AutoFit)
Hücreye sığmayan ###### hatalarını önlemek için otomatik genişletme.
20. Kopyala ve Yapıştır (Copy - Paste)
Bir alandaki verileri alıp başka bir alana klasik kopyalama yöntemiyle taşımak.
21. Özel Yapıştır (Sadece Değerler)
Formülleri kırarak sadece sayısal/metin sonuçlarını yapıştırmak (PasteSpecial).
22. Son Dolu Satırı Bulmak (End xlUp)
Milyonluk kayıtlarda verinin en son hangi satırda bittiğini bulmak.
23. Son Dolu Sütunu Bulmak (End xlToLeft)
Yan yana uzayan aylık raporlarda son dolu sütun harfini/sayısını tespit edin.
24. Bul ve Değiştir (Find ve Replace)
Bir metni veya sayıyı anında bulup başka bir değerle değiştirmek.
25. Format ve Numara Biçimi (NumberFormat)
Sayıları para birimi (₺), tarih veya yüzde (%) olarak biçimlendirmek.
Modül 3: Sayfa İşlemleri
26. Yeni Sayfa Eklemek (Add)
Çalışma kitabınıza makro komutuyla otomatik yeni çalışma sayfaları oluşturun.
27. Sayfa İsimlerini Değiştirmek
Mevcut sekmelerin adlarını kod yazarak dinamik bir şekilde değiştirin.
28. Sayfa Silmek ve Uyarıları Kapatmak
Gereksiz sayfaları silerken çıkan "Emin misiniz?" mesajını atlamak.
29. Sayfaları Gizlemek ve Göstermek
Kullanıcıların görmesini istemediğiniz ayar veya data sayfalarını saklayın.
30. Sayfa Koruması Eklemek (Protect)
Formüllerinizin ve tasarımınızın bozulmaması için sayfaya şifre koyun.
31. Sayfa Korumasını Kaldırmak (Unprotect)
Makro çalışmadan önce şifreyi çözüp, işi bitince geri kilitleme mantığı.
32. Sayfayı Komple Kopyalamak
Bir şablon sayfasının birebir yedeğini çıkartmak.
33. Sayfanın Yerini Değiştirmek (Move)
Sekmeleri sürükle-bırak yapmak yerine kodla istediğiniz sıraya taşıyın.
34. ActiveSheet ve Sheet İndeks Numaraları
Sayfalara isimleriyle değil, bulundukları sıra numaralarıyla hitap etmek.
35. Tabloyu PDF Olarak Sayfadan Aktarmak
Sayfadaki raporu masaüstüne PDF formatında otomatik çıkartın.
Modül 4: Dosya İşlemleri
36. Yeni Excel Dosyası Oluşturmak
Mevcut dosyadan çıkmadan kodla yepyeni boş bir Excel çalışma kitabı yaratın.
37. Kapalı Bir Excel Dosyasını Açmak (Open)
Klasörde duran başka bir Excel dosyasını makro ile arka planda açın.
38. Dosyayı Kaydetmek ve Kapatmak (Close)
Açtığınız dosyada işiniz bitince kaydederek sessizce kapatın.
39. Dosyayı Farklı Kaydetmek (SaveAs)
Çalıştığınız raporu her günün tarihiyle yeni bir isimle kaydedin.
40. ActiveWorkbook ve ThisWorkbook Farkı
Hangi dosyada işlem yapacağınızı netleştirin. En büyük karışıklığı çözelim.
41. Dosya Yolu ve İsmini Almak (Path / Name)
Kodun bulunduğu klasörün yolunu dinamik olarak tespit etmek.
42. Tüm Açık Dosyalar Arasında Gezinmek
O an bilgisayarda açık olan tüm Excel dosyalarının adlarını listeleyin.
43. Uyarı Veren Dosyaları Kapatmak
"Değişiklikleri kaydetmek ister misiniz?" uyarısını atlayıp zorla kapatmak.
Modül 5: Değişkenler
44. Değişken (Dim) Kavramı ve Ram Yönetimi
Bilgisayarın hafızasında kendinize geçici saklama kutuları (Dim) kiralayın.
45. String ve Integer Veri Tipleri
Metinler (String) ve Tam Sayılar (Integer) arasındaki farkları öğrenin.
46. Double ve Long (Büyük Sayılar ve Küsuratlar)
Integer'ın sınırı 32.767'dir. Milyonluk satırlarda veya kuruşlu paralarda ne yapacağız?
47. Boolean (Mantıksal Doğru/Yanlış) Tipi
Bir şey ya True (Doğru) ya da False (Yanlış) ise en hafif veri tipi olan Boolean kullanılır.
48. Variant (Tehlikeli Bukalemun) Veri Tipi
İçine ne atarsanız ona dönüşen, kolaya kaçılan ama RAM'i en çok yoran veri tipidir.
49. Sabitler (Const) ve Şifre Gizleme
Program boyunca asla değişmeyecek KDV oranı, Şirket Adı veya Veritabanı Şifresini Const ile kilitlemek.
50. Option Explicit ile Hata Avcılığı
Kodlarınızda küçük bir harf hatası (Tpyo) yaptığınızda çöküşleri önlemek için sigorta takın.
Modül 6: Şartlar
51. If...Then...Else Temel Mantığı
Makronuza karar verme yeteneği kazandırın. EĞER şart sağlanırsa BUNU yap.
52. ElseIf ile Çoklu Şart Zincirleri
Sadece iki ihtimal (Geçti/Kaldı) değil, Harf notu (A, B, C) gibi çoklu ihtimalleri değerlendirmek.
53. And ve Or Operatörleri
Hem o şart HEM BU şart (And) veya şu şart VEYA bu şart (Or) kullanımları.
54. Select Case Yapısı (Temiz If Alternatifi)
İç içe 10 tane If yazıp kodu çorbaya çevirmek yerine okuması çok şık Select Case yapısını kurun.
55. IIf (Tek Satırlık Pratik If)
Sadece ufak bir değer ataması yapacaksanız 5 satır If yazmak yerine IIf fonksiyonunu kullanın.
Modül 7: Döngüler
56. For...Next Döngüsü: Klasik Tekrar
Bir işlemi 1'den başlayıp 100'e kadar sırasıyla tekrar ettirmenin en temel yolu.
57. Step Komutu ile Atlama ve Geri Sayım
Döngünün 1'er 1'er değil, 2'şer 2'şer artmasını veya geriye doğru (10'dan 1'e) inmesini sağlayın.
58. For Each Döngüsü (Akıllı Tarama)
Sınırları saymadan bir aralıktaki tüm hücrelere veya tüm sayfalara tek tek dokunmak.
59. Do While Döngüsü (Şart Sürdükçe Dön)
Verinin ne zaman biteceğini bilmiyorsanız "Hücre boş görene kadar in" mantığını kurun.
60. Exit For ve Exit Do ile Kaçış
1 Milyon satırlık döngüde aradığınızı 5. satırda bulduysanız makroyu boşuna yormayın, kırıp çıkın.
Modül 8: Diziler
Modül 8: Fonksiyonlar
62. Kendi Formülünü Yaz (UDF: User Defined Function)
Excel'de =KDV_HESAPLA() gibi sadece size özel çalışan yepyeni formüller tasarlayın.
63. Split ile Metinleri Kelimelere Parçalamak
Virgül veya boşluklarla ayrılmış "Ali,Veli,Ayşe" cümlesini parçalayıp diziye çevirin.
64. Left, Right ve Mid (Metin Kesme İşlemleri)
TC Kimlik no son 4 hanesini almak veya İBAN başındaki TR kodunu ayırmak.
71. Büyük, Küçük ve İlk Harf Büyütme (UCase, LCase)
Yazım düzeni bozuk gelen isim listelerini tek tıkla kurumsal formata çevirin.
72. Replace ile İstenmeyen Karakterleri Temizlemek
Telefon numaralarındaki boşlukları veya IBAN içindeki harfleri tek komutla silin.
73. InStr ile Metin İçinde Kelime Aramak
Bir e-posta adresinde "@" işaretinin kaçıncı sırada olduğunu kodla tespit edin.
74. Trim Komutu ile Görünmez Boşlukları Silmek
Düşeyara (Vlookup) hatalarına sebep olan isim başındaki/sonundaki gizli boşlukları yok edin.
75. Format Komutu ile Tarih ve Sayı Şekillendirme
15042026 gibi düz bir sayıyı 15 Nisan 2026 şekline sokun.
Modül 9: Etkileşim
65. MsgBox ile Kullanıcıya Soru Sormak (Evet/Hayır)
Sadece bilgi vermek yerine "Veriler silinsin mi?" diye sorup EVET veya HAYIR cevabına göre kod çalıştırmak.
66. InputBox ile Veri İstemek
Kullanıcıya "Hangi yılı raporlamak istiyorsunuz?" sorusunu sorup içine yazı yazacağı küçük bir form çıkarmak.
67. Ekran Titremesini Kapatmak (ScreenUpdating)
Binlerce satırlık kopyalama işlemlerinde ekranın flaş gibi patlamasını önleyip hızı 10 katına çıkarın.
76. Application.InputBox ile Hücre Seçtirmek
Kullanıcıya veri yazdırmak yerine, fare ile Excel sayfasından hücre seçtirtin.
77. SendKeys ile Klavyeye Hükmetmek
Makro çalışırken bilgisayar klavyesinden sizin yerinize Enter veya F2 tuşlarına bastırın.
78. StatusBar ile Profesyonel Yükleme Çubuğu
Makro çalışırken kullanıcıların "Bilgisayar dondu mu?" endişesini bitiren ilerleme mesajı.
Modül 10: İleri Seviye
68. Worksheet_Change (Aksiyon Bazlı Makrolar)
Siz butona basmadan, kullanıcı hücreye veri girdiği an otomatik tetiklenen hayalet kodlar.
69. On Error Resume Next (Hataları Sümen Altı Etmek)
Açılacak bir dosya yoksa makronun çökmesini engelleyip hiçbir şey olmamış gibi yola devam etmek.
70. Outlook Üzerinden Otomatik E-Posta Göndermek
Excel verilerinizi alıp Outlook üzerinden binlerce müşteriye otomatik bilgilendirme maili atın.
Modül 11: Klasör ve Dosya
79. Dir Komutu ile Klasördeki Dosyaları Okumak
Bir klasördeki 100 farklı Excel dosyasının isimlerini saniyeler içinde alt alta listeleyin.
80. MkDir ile VBA Üzerinden Yeni Klasör Açmak
Raporları kaydetmeden önce o günün tarihiyle otomatik bir Windows klasörü oluşturun.
81. Kill Komutu ile Dosya Silmek
Eski tarihli geçici raporları bilgisayardan (Geri Dönüşüm Kutusuna atmadan) tamamen silin.
82. Name Komutu ile Dosya İsmi Değiştirmek
Binlerce pdf dosyasının adını tek tıklamayla topluca değiştirin (Yeniden Adlandırma).
83. FileCopy ile Dosyaları Kopyalamak
Her sabah şablon dosyanızı bozmadan yedeğini farklı bir klasöre kopyalayın.
Modül 12: Gelişmiş Veri
84. UBound ve LBound (Dizi Boyutlarını Bulmak)
İçinde kaç eleman olduğunu bilmediğiniz bir dizinin sınırlarını tespit etmek.
85. ReDim Preserve ile Dizileri Genişletmek
İçindeki mevcut verileri silmeden hafızadaki saklama kutusuna yeni odalar eklemek.
86. İki Boyutlu Diziler (Tabloları RAM'e Almak)
Sadece alt alta listeleri değil, hem satırı hem sütunu olan dev matrisleri tek seferde hafızaya almak.
Modül 13: UserForm Arayüzü
87. UserForm Oluşturma ve Çağırma (Show)
Excel sayfalarını gizleyip kullanıcının karşısına profesyonel bir program penceresi çıkartın.
88. TextBox ve CommandButton (Veri Girişi)
Pencerenize metin kutusu ve buton ekleyerek alınan veriyi Excel'e kaydedin.
89. ComboBox (Açılır Liste) Doldurmak
Formunuza illeri veya ürünleri seçtirebileceğiniz açılır menüler ekleyin.
90. OptionButton ve CheckBox Kullanımı
Cinsiyet gibi tekli seçimlerde OptionButton, çoklu yetki seçimlerinde CheckBox mantığı.
91. Unload Me ile Formu Güvenle Kapatmak
İşlem bittiğinde formu gizlemek yerine RAM'den tamamen silerek kapatmak.
Modül 14: Olaylar (Events)
92. Workbook_BeforeClose (Kapanış Öncesi Kontrol)
Kullanıcı Excel'i sağ üstten (X) kapatmaya çalıştığında ona zorunlu sorular sorun.
93. Worksheet_SelectionChange (Tıklanan Yeri Boya)
Fare ile Excel'de her tıklanan hücrenin arka plan rengini otomatik değiştiren hayalet kod.
94. On Error GoTo Etiket İle Hata Yönlendirme
Beklenmeyen bir kilitlenme anında Excel'in sarı çökme hatası yerine kendi kurumsal uyarınızı verin.
95. Application.DisplayAlerts İle Uyarıları Susturmak
Makro çalışırken aniden ekrana gelen "Bunu değiştirmek istiyor musunuz?" pop-up'larını koda ezin.
Modül 15: Dış Entegrasyonlar
96. VBA İle Word Belgesi Oluşturup Yazı Yazmak
Excel verilerinizi alıp otomatik olarak yeni bir Word raporu oluşturun.
97. ADO İle Kapalı Excel'den SQL Sorgusu Çekmek
1 Milyon satırlık dev dosyayı hiç açmadan, "Select * From" diyerek içinden sadece istediğinizi çekin.
98. Application.Run İle Başka Dosyadaki Makroyu Çağırmak
Şu anki dosyanızın içinden, farklı bir Excel dosyasında yazılmış olan makroyu uzaktan tetikleyin.