EXCEL MAKRO NEDİR?

Makro, Excel'e "şu işlemleri sırayla yap" diyen kayıtlı bir komut dizisidir: her ay elle yaptığınız 10 adımı tek tuşa bağlar. Formüller hücre içinde hesap yapar; makrolar ise eylem yapar — biçimlendirir, satır ekler, sayfa düzenler, dosya kaydeder. Bu sayfada gerçek bir makronun VBA editöründeki kodunu görecek, indirilebilir .xlsm dosyasında çalıştırıp deneyeceksiniz.
Çalışma dosyasını indir (.xlsm) — ToplamYaz makrosu içinde, çalıştırılabilirDosya makro içerdiği için .xlsm uzantılıdır; açarken Excel'in güvenlik uyarısında "İçeriği Etkinleştir" demeniz gerekir (bölüm 4'te neden açıklanıyor).
1. Makro Mantığı: Formülden Farkı
Formül tek hücrenin değerini hesaplar ve veri değişince kendini günceller. Makro ise bir kez tetiklenir ve bir eylem dizisi uygular: "1. satırı kalınlaştır, C sütununun altına toplam yaz, dosyayı PDF kaydet" gibi. İkisinin iş bölümü nettir — hesap formülün, tekrarlı el işi makronun. Formül tarafının temelleri Excel kodları sayfasında; makro, o sayfanın kaldığı yerden başlar.
2. Gerçek Bir Makronun Kodu
Makrolar VBA (Visual Basic for Applications) dilinde, Alt+F11 ile açılan editörde yazılır. İndirdiğiniz dosyadaki makro tam olarak şöyle:

Kod üç parçadan oluşur: Sub ToplamYaz() makronun adını açar, gövdedeki iki satır işi yapar (C2:C4 aralığının toplamını C5'e yazar ve kalınlaştırır), End Sub bloğu kapatır. VBA'da her makro bu Sub...End Sub kalıbının içinde yaşar. Kodun İngilizce olması Excel'in dilinden bağımsızdır — Türkçe Excel'de de VBA hep bu sözdizimiyle yazılır.
3. Makro Nasıl Çalıştırılır
En kısa yol Alt+F8: açılan Makro penceresi dosyadaki tüm makroları listeler; seçip Çalıştır dersiniz.

Aynı pencereden Düzenle sizi kodun kaynağına götürür, Adımla kodu satır satır izleterek öğrenmenin en iyi yolunu sunar. Sık kullanılan makro bir düğmeye de bağlanabilir: Ekle > Şekil çizip sağ tık > Makro Ata. Kod yazmadan makro üretmek isteyenler için Makro Kaydedici (Görünüm > Makrolar > Makro Kaydet) yaptığınız her adımı otomatik VBA'ya çevirir — kaydediciyle başlayıp üretilen kodu okumak, VBA öğrenmenin klasik yoludur.
4. Güvenlik: xlsm ve Uyarılar
- Uzantı değişir: Makrolu dosya .xlsx olarak kaydedilemez; .xlsm gerekir. Kaydederken Excel sizi uyarır.
- Sarı güvenlik şeridi: İnternetten inen makrolu dosyada Excel makroları önce devre dışı bırakır; güvendiğiniz kaynaktan geldiyse "İçeriği Etkinleştir" ile açarsınız.
- Neden bu kadar temkinli: Makro, dosya silebilecek kadar yetkili gerçek bir programdır; tanımadığınız dosyanın makrosunu etkinleştirmemek temel kuraldır.
- Geri al çalışmaz: Makronun yaptığı işlemler Ctrl+Z ile geri alınamaz — önemli dosyada önce kopya üzerinde deneyin.
5. Kaydediciyle İlk Makronuz
Kod yazmadan bugün deneyebileceğiniz beş dakikalık alıştırma:
- Görünüm > Makrolar > Makro Kaydet deyin; ada "BaslikBicimi" yazın, Tamam'layın — kayıt başladı.
- Bir başlık satırı seçip kalın yapın, dolgu rengi verin, ortalayın — her tıklamanız kodlanıyor.
- Görünüm > Makrolar > Kaydı Durdur.
- Başka bir tabloda başlığı seçip Alt+F8 ile makronuzu çalıştırın — üç biçim tek tuşta uygulanır.
- Alt+F8 > Düzenle ile üretilen koda bakın: az önce elle yaptıklarınızın VBA karşılığını görürsünüz.
Beşinci adım öğrenmenin kendisidir: kaydedicinin ürettiği kodu okumak, "bu işin kodu neymiş" sorusunu her seferinde cevaplar. Bir süre sonra kaydetmeden yazmaya başlarsınız.
Özetle
Makro, tekrarlı eylem dizilerini tek tuşa bağlayan VBA kod bloğudur: Sub ile başlar, işi yapar, End Sub ile biter; Alt+F8 ile çalıştırılır, .xlsm ile saklanır. Formülün hesapladığı yerde makro gerekmez — makro, elinizin her ay aynı 10 adımı tekrarladığı yerde devreye girer. Hazır örneklerle devam etmek için makro örnekleri sayfası; VBA'yı temelden öğrenmek için Excel VBA eğitimi doğru adrestir.
Sıkça Sorulan Sorular
Excel makrosu ne işe yarar?
Tekrarlı işlem dizilerini otomatikleştirir: her ay aynı biçimlendirme, aynı rapor düzeni, aynı dışa aktarma gibi el işlerini tek tuşa bağlar. Formül hücrede hesap yapar; makro ise biçimlendirme, satır ekleme, kaydetme gibi eylemleri sırayla uygular.
Makro ile formül arasındaki fark nedir?
Formül canlıdır — veri değişince kendini günceller ve yalnızca değer üretir. Makro tetiklenince bir kez çalışır ve eylem uygular (biçim, ekleme, silme, kaydetme). Hesap işleri formülle, tekrarlı el işleri makroyla çözülür; ikisi birbirinin alternatifi değil tamamlayıcısıdır.
Kod bilmeden makro yazabilir miyim?
Evet — Makro Kaydedici (Görünüm > Makrolar > Makro Kaydet) yaptığınız her adımı izleyip otomatik VBA koduna çevirir. Kaydı durdurup Alt+F8 > Düzenle ile üretilen koda bakmak, VBA öğrenmenin en pratik yoludur: kendi yaptığınız işin kod karşılığını görürsünüz.
Makrolu dosya neden .xlsm uzantılı?
Standart .xlsx biçimi güvenlik gereği makro kodu saklayamaz. Makro içeren dosya .xlsm (macro-enabled) olarak kaydedilmek zorundadır; .xlsx olarak kaydederseniz Excel uyarır ve kod silinir. Uzantı, dosyayı açan kişiye 'içinde çalıştırılabilir kod var' bilgisini de verir.
'İçeriği Etkinleştir' uyarısı güvenli mi?
Dosyanın kaynağına bağlı. Makro gerçek bir programdır ve kötü niyetli yazılmışsa zarar verebilir; bu yüzden Excel internetten gelen dosyalarda makroyu önce kilitler. Kendi hazırladığınız veya güvendiğiniz kaynaktan gelen dosyada etkinleştirmek güvenlidir; tanımadığınız ekte asla etkinleştirmeyin.
Makronun yaptığını geri alabilir miyim?
Hayır — makro çalıştıktan sonra Ctrl+Z işlemez; geri al geçmişi makroyla silinir. Bu yüzden yeni bir makroyu önce dosyanın kopyasında denemek, önemli dosyalarda çalıştırmadan önce kaydetmek temel alışkanlık olmalıdır.


