Excel'de Makrolar: Güvenli Otomasyon İçin Kapsamlı Kılavuz

Kerem Aydın·9 Temmuz 2026·⏱4 dk

Excel'de makroları etkinleştirmek için Dosya → Seçenekler → Güvenlik Merkezi yolunu izleyin ve "Bildirimle tüm makroları devre dışı bırak" modunu seçin. Basit bir makro kaydetmek için "Geliştirici" sekmesindeki "Makro Kaydet" düğmesini kullanın; çalıştırmak için ise kısayol tuşlarını veya makro menüsünü kullanın. Güvenlik, dosya kaynağının kontrol edilmesi ve internetten gelen imzalanmamış kodların yürütülmesinin engellenmesiyle sağlanır.

Makrolar (VBA), rutin eylemleri tek bir tıklamaya dönüştürür ancak yanlış yapılandırma virüslere erişim açabilir. Aşağıda, etkinleştirmeden güvenli kullanıma kadar net bir eylem algoritması bulunmaktadır.

İçindekiler

Ortam Ayarı: "Geliştirici" Sekmesi

Varsayılan olarak VBA ile çalışma araçları gizlidir. Bunları etkinleştirmek için:

  1. Dosya → Seçenekler'e tıklayın.
  2. Şeridi Özelleştir seçeneğini belirleyin.
  3. Sağ sütunda ("Ana Sekmeler") Geliştirici yanındaki kutuyu işaretleyin.
  4. Tamam'a tıklayın.

Artık şeritte "Makro Kaydet", "Visual Basic", "Makro Güvenliği" düğmeleri ve form denetimlerini içeren bir sekme görünecektir.

Makrolar Nasıl Etkinleştirilir: Güvenlik Ayarları

Excel, kötü amaçlı koddan korunmak için varsayılan olarak makroları engeller. Güvenlik Merkezi'nde (Dosya → Seçenekler → Güvenlik Merkezi → Güvenlik Merkezi Ayarları → Makro Ayarları yoluyla ulaşılır) dört güvenlik düzeyi mevcuttur:

DüzeyAçıklamaÖneri
Uyarı vermeden tümünü devre dışı bırakMakrolar çalışmaz, uyarı verilmez.Sadece aşırı koruma gereken durumlar için. Çalışmak için uygun değildir.
Bildirimle tümünü devre dışı bırakMakrolar engellenir ancak "İçeriği Etkinleştir" düğmesini içeren sarı bir çubuk görünür.Çoğu kullanıcı için en iyi seçim.
Dijital olarak imzalanmış olanlar hariç tümünü devre dışı bırakSadece güvenilir yayıncının dijital imzasına sahip makrolar çalışır.BT departmanı bulunan kurumsal ortamlar için.
Tüm makroları etkinleştirTüm yasaklar kaldırılır. Herhangi bir kod otomatik olarak yürütülür.Kesinlikle önerilmez. Yüksek bulaşma riski.

Çalışma bilgisayarınızda asla "Tüm makroları etkinleştir" modunu seçmeyin. Virüs içeren bir dosya indirirseniz, onayınız olmadan anında yürütülür.

Güvenilen Konumlar

Belirli bir klasördeki dosyalarla sürekli çalışıyorsanız (örneğin, D:\Work\Macros), bu klasörü Güvenilen Konumlar listesine ekleyin. Bu klasördeki dosyalar, gereksiz sorular sorulmadan etkin makrolarla açılacaktır.

Programlama Yapmadan İlk Makroyu Kaydetme

Basit bir makro oluşturmak için VBA dilini bilmenize gerek yoktur. Yerleşik kaydediciyi kullanın.

Örnek görev: Tablo başlığını biçimlendirin (kalın yazı tipi, sarı arka plan, kenarlıklar).

  1. Geliştirici sekmesine gidin ve Makro Kaydet'e tıklayın.
  2. İletişim kutusunda:
    • Makro adı: Latin alfabesiyle, boşluk olmadan (örneğin, FormatHeader).
    • Kısayol tuşu: İsteğe bağlı (örneğin, Ctrl+Shift+H).
    • Kaydetme yeri: "Bu Çalışma Kitabı" (makro sadece burada gerekiyorsa) veya "Kişisel Makro Çalışma Kitabı" (tüm Excel dosyalarında kullanılabilir olması için).
  3. Tamam'a tıklayın. Durum çubuğunda kayıt göstergesi belirecektir.
  4. Gerekli eylemleri gerçekleştirin: Hücreleri seçin, biçimlendirmeyi uygulayın.
  5. "Geliştirici" sekmesindeki Kaydı Durdur düğmesine tıklayın.

Hazır. Excel, eylemlerinizi tekrarlayan VBA kodunu kendisi yazmıştır.

Makroları Çalıştırma ve Yönetme

Çalıştırma Yöntemleri

  1. Menü üzerinden: Geliştirici sekmesi → Makrolar → İsmi seçin → Çalıştır.
  2. Kısayol tuşları: Kayıt sırasında atadıysanız (örneğin, Ctrl+Shift+H).
  3. Sayfadaki düğme: Geliştirici sekmesi → Ekle → "Düğme" form öğesini seçin → ona bir makro atayın.

Kodu Görüntüleme ve Düzenleme

Kodu görmek veya düzeltmek için:

  1. "Geliştirici" sekmesindeki Visual Basic'e tıklayın (veya Alt+F11).
  2. Soldaki projede modülü bulun (genellikle Module1).
  3. Sağ tarafta kod penceresi açılacaktır. Gereksiz satırları silebilir veya prosedürleri diğer modüllere kopyalayabilirsiniz.

Makro kaydederken Excel genellikle mutlu hücre başvurularını kaydeder (örneğin, Range("A1")). Makronun geçerli hücreye göre relatif çalışmasını istiyorsanız, kayıttan önce "Kod" grubundaki Relatif Başvurular düğmesine tıklayın.

Sık Karşılaşılan Hatalar ve Güvenlik Riskleri

1. İnternetten Gelen Makroların Engellenmesi

Excel'in modern sürümlerinde (2022+), internetten veya e-postadan indirilen dosyalar Windows düzeyinde engellenir. "İçeriği Etkinleştir" düğmesi eksik olabilir. Çözüm:

  • Dosyaya sağ tıklayın → Özellikler.
  • "Genel" sekmesinin alt kısmında varsa Engellemeyi Kaldır kutusunu işaretleyin.
  • "Uygula"ya tıklayın ve dosyayı yeniden açın.

2. "Makrolar Devre Dışı" Hatası

Sarı çubuk görünmüyorsa, Güvenlik Merkezi ayarlarını kontrol edin. Tamamen devre dışı bırakma modu seçilmiş olabilir.

3. Makrolardaki Virüsler

Kötü amaçlı kod dosyaları şifreleyebilir veya spam gönderebilir. Hijyen kuralları:

  • Bilinmeyen göndericilerden gelen dosyalarda makroları etkinleştirmeyin.
  • Bir dosya bir iş arkadaşı tarafından gönderildiyse, makro bekleyip beklemediğinizi teyit edin.
  • Office belgelerini kontrol eden bir antivirüs kullanın.

SSS: Sorular ve Cevaplar

Kaydedilen makrolar nerede saklanır? "Bu Çalışma Kitabı"nı seçtiyseniz, mevcut .xlsm dosyasının içinde. "Kişisel Makro Çalışma Kitabı"nı seçtiyseniz, Excel başlatıldığında yüklenen gizli PERSONAL.XLSB dosyasında.

Makro içeren dosya hangi formatta kaydedilmeli? Standart .xlsx kodu desteklemez. Makro Etkin Excel Çalışma Kitabı (.xlsm) veya Excel İkili Çalışma Kitabı (.xlsb) olarak kaydedin.

Makro kodu parola ile korunabilir mi? Evet. VBA düzenleyicisinde (Alt+F11) Tools → VBAProject Properties → Protection yolunu izleyin. "Lock project for viewing" kutusunu işaretleyin ve bir parola belirleyin. Bu, kazara görüntülenmeye karşı korur ancak güvenilir bir kriptografik koruma sağlamaz.

Makro neden yavaş çalışıyor? Kaydedici genellikle gereksiz eylemleri (hücre seçimi, ekran kaydırma) kaydeder. Karmaşık görevleri hızlandırmak için, yürütme sırasında ekran güncellemesini devre dışı bırakarak (Application.ScreenUpdating = False) kodu manuel olarak yazmak daha iyidir.