Özellik ikonu

Makrolar

İndirme izni yok

Genel Bakış

Makrolar (Macros), Excel'de yaptığınız bir dizi işlemi kaydedip tek komutla yeniden çalıştırmanızı sağlayan, VBA (Visual Basic for Applications) diliyle yazılmış küçük programlardır. Biçimlendirme, sıralama, veri temizleme, rapor hazırlama gibi her gün tekrarlanan işleri saniyeler içinde ve hatasız yapmanın en pratik yoludur. Bu sayfada makro kaydetmeyi, çalıştırma yollarını, makro güvenliğini, .xlsm biçimini, Kişisel Makro Çalışma Kitabı'nı, göreli başvuru kaydını ve sık karşılaşılan sorunların çözümlerini örneklerle öğreneceksiniz.

Makro nedir ve nasıl çalışır​

Makro, Excel'de yapabildiğiniz işlemlerin VBA diliyle yazılmış bir Sub yordamı olarak saklanmasıdır. Makroyu iki yolla oluşturabilirsiniz: Makro Kaydet ile yaptığınız adımları Excel'e kaydettirirsiniz ya da Visual Basic Düzenleyicisi'nde (VBE) kodu kendiniz yazarsınız. Kaydedilen makro bir modülde saklanır; her çalıştırışınızda aynı adımlar aynı sırayla, insan hatası olmadan ve çok daha hızlı uygulanır.

Bir makronun yapısı şöyledir:
VBA 4 satır
Sub BaslikBicimle()
    Range("A1:E1").Font.Bold = True
    Range("A1:E1").Interior.Color = RGB(31, 78, 121)
End Sub
Sub ile End Sub arasındaki satırlar makronun gövdesidir. Function ile başlayan yordam ise değer döndürür ve çalışma sayfasında formül gibi kullanılabilen özel işlev (UDF) yazmak için kullanılır.

Makro ile formül arasındaki fark önemlidir: formül hücre değişince kendiliğinden yeniden hesaplanır, makro ise siz çalıştırınca (ya da bir olay tetiklenince) bir kez çalışır. Makrolar şu işler için uygundur:
  • Tekrarlayan biçimlendirme: Her ay aynı rapor görünümünü vermek.
  • Veri hazırlama: Sıralama, boşluk temizleme, boş satır silme, yinelenenleri ayıklama.
  • Toplu işlemler: Yüzlerce sayfayı ya da dosyayı aynı kurala göre düzenlemek.
  • Özel işlevler ve olaylar: Formülle çözülemeyen hesaplar, hücre değişince ya da dosya açılınca çalışan otomasyonlar.

Nerede bulunur​

Makro komutlarının çoğu varsayılan olarak gizli olan Geliştirici (Developer) sekmesindedir. Sekmeyi açmak için:
  • Dosya > Seçenekler > Şeridi Özelleştir (File > Options > Customize Ribbon) yolunu izleyin.
  • Sağdaki Ana Sekmeler listesinde Geliştirici kutusunu işaretleyip Tamam'a basın.
Geliştirici > Kod (Developer > Code) grubunda şu düğmeler bulunur: Visual Basic, Makrolar, Makro Kaydet, Göreli Başvuru Kullan ve Makro Güvenliği. Geliştirici sekmesini açmadan da Görünüm > Makrolar (View > Macros) açılır menüsünden Makroları Görüntüle, Makro Kaydet ve Göreli Başvuru Kullan komutlarına ulaşabilirsiniz. Durum çubuğuna sağ tıklayıp Makro Kaydı seçeneğini işaretlerseniz, çubuğun sol altında kaydı başlatıp durduran küçük bir düğme belirir.

Önemli kısayollar:
  • Alt+F8: Makro iletişim kutusunu açar; makroyu seçip çalıştırır, adım adım izler, düzenler ya da siler.
  • Alt+F11: Visual Basic Düzenleyicisi'ni açar ve Excel ile düzenleyici arasında geçiş yapar.
  • F5 ve F8 (düzenlede): F5 imlecin bulunduğu makroyu çalıştırır, F8 kodu satır satır ilerleterek izler.
  • Esc ya da Ctrl+Break: Çalışan makroyu durdurmayı dener.
  • Ctrl+harf: Makroya atadığınız kısayol tuşudur.
Mac'te Geliştirici sekmesi Excel > Tercihler > Şerit ve Araç Çubuğu bölümünden açılır; makro iletişim kutusu için Option+F8 (bazı klavyelerde Fn ile birlikte) kullanılır.

Makro kaydetme adım adım​

Kayıt sırasında Excel yaptığınız her işlemi VBA koduna çevirir. Hızlı ve kolay bir başlangıçtır ama gereksiz tıklamalar da koda girer; bu yüzden kayıttan önce adımları planlayın.
  • Kaydı başlatın: Geliştirici > Kod > Makro Kaydet (Record Macro) komutuna tıklayın.
  • Makro adı: Harfle başlamalı, boşluk ve noktalama içermemelidir (örneğin BaslikBicimle ya da Baslik_Bicimle). Hücre adresi gibi görünen adlar (örneğin AB12) kullanılamaz.
  • Kısayol tuşu: İsteğe bağlıdır. Küçük harf Ctrl+harf, büyük harf Ctrl+Shift+harf anlamına gelir. Excel'in kendi kısayollarını (Ctrl+C gibi) geçersiz kılacağı için dikkatli seçin.
  • Makroyu şuraya kaydet: Bu Çalışma Kitabı (This Workbook), Yeni Çalışma Kitabı (New Workbook) ya da Kişisel Makro Çalışma Kitabı (Personal Macro Workbook) seçeneklerinden birini seçin.
  • Açıklama: Makronun ne yaptığını yazın; koda yorum satırı olarak eklenir.
  • Tamam'a basın ve işlemleri yapın: Hücre seçin, biçim verin, sıralayın. Her adım kaydedilir.
  • Kaydı Durdur: Geliştirici > Kod > Kaydı Durdur (Stop Recording) ile bitirin.
  • Kodu inceleyin: Alt+F11 ile düzenleyiciyi açın, soldaki Proje bölmesinde Modules > Module1 altına bakın.
Göreli başvuru kaydı: Varsayılan olarak kayıt mutlaktır; seçtiğiniz hücreler Range("B2").Select gibi sabit adreslerle kaydedilir ve makro her zaman aynı hücrelerde çalışır. Geliştirici > Kod > Göreli Başvuru Kullan (Use Relative References) düğmesini açarsanız hareketler etkin hücreye göre, yani ActiveCell.Offset(1, 0).Select biçiminde kaydedilir. Makro böylece hangi hücrede çalıştırılırsa oradan başlar. Düğme bir açma kapama anahtarıdır; kayıt sırasında istediğiniz an değiştirebilirsiniz. Formüller ise genellikle FormulaR1C1 özelliğiyle satır sütun farkı olarak kaydedilir.

Makroyu çalıştırma yolları​

Aynı makroyu farklı yollarla çalıştırabilirsiniz; hangisinin seçileceği kullanım sıklığına bağlıdır:
  • Makro iletişim kutusu: Alt+F8 tuşlarına basın, makroyu seçin ve Çalıştır'a tıklayın. Adım düğmesi makroyu satır satır izlemenizi, Seçenekler düğmesi kısayol tuşunu değiştirmenizi sağlar. Listede yalnız açık çalışma kitaplarının makroları görünür; Makroların bulunduğu yer kutusundan kapsamı seçebilirsiniz.
  • Kısayol tuşu: Kayıt sırasında ya da sonradan Alt+F8 > Seçenekler ile atadığınız Ctrl+harf birleşimidir. Başka çalışma kitabında aynı kısayol varsa en son açılan çalışır.
  • Form denetimi düğmesi: Geliştirici > Denetimler > Ekle > Form Denetimleri > Düğme (Insert > Form Controls > Button) ile sayfaya düğme çizin; açılan pencerede makroyu seçin. Düğmeye sağ tıklayıp Makro Ata ile değiştirebilirsiniz.
  • Şekil ya da resim: Eklediğiniz herhangi bir şekle sağ tıklayıp Makro Ata (Assign Macro) derseniz şekil makro düğmesine dönüşür; logolu, renkli düğmeler için idealdir.
  • Hızlı Erişim Araç Çubuğu ve şerit: Dosya > Seçenekler > Hızlı Erişim Araç Çubuğu bölümünde Komut Seç listesinden Makrolar'ı seçip makronuzu araç çubuğuna ekleyebilirsiniz. Şeridi özelleştirerek kendi sekmenize de koyabilirsiniz.
  • Düzenleyiciden: Alt+F11 ile kodu açın, imleci makronun içine koyup F5'e basın.
  • Olaylar: Workbook_Open dosya açılınca, Worksheet_Change hücre değişince, Worksheet_SelectionChange seçim değişince otomatik çalışır. Bu olay yordamları ilgili sayfa ya da ThisWorkbook modülüne yazılır.

Makro güvenliği ve Güvenilir Konum​

Makrolar güçlü olduğu için kötü amaçlı yazılımların da yaygın aracıdır. Bu nedenle Excel makroları varsayılan olarak çalıştırmaz ve size sorar. Ayarlara Dosya > Seçenekler > Güven Merkezi > Güven Merkezi Ayarları > Makro Ayarları (File > Options > Trust Center > Trust Center Settings > Macro Settings) yolundan ya da Geliştirici sekmesindeki Makro Güvenliği düğmesinden ulaşırsınız:
  • Bildirim olmadan tüm makroları devre dışı bırak: Hiçbir makro çalışmaz, uyarı da çıkmaz.
  • Bildirimle tüm makroları devre dışı bırak: Varsayılan ve önerilen ayardır. Dosya açılınca sarı çubuktaki İçeriği Etkinleştir (Enable Content) düğmesiyle makroyu o dosya için açarsınız.
  • Dijital olarak imzalanmış makroları hariç tüm makroları devre dışı bırak: Yalnız güvendiğiniz yayımcının imzalı makroları çalışır.
  • Tüm makroları etkinleştir: Önerilmez; her kodu uyarısız çalıştırır.
  • VBA proje nesne modeline güvenilir erişim: Başka programların ya da makroların VBA projesini değiştirmesine izin verir; gerekmedikçe kapalı tutun.
Güvenilir Konum (Trusted Location): Güven Merkezi > Güvenilir Konumlar > Yeni konum ekle ile seçtiğiniz bir klasördeki dosyalar uyarısız, makroları etkin açılır. Yalnız kendi denetiminizdeki klasörleri ekleyin; İndirilenler ya da e-posta eklerinin kaydedildiği klasörleri asla güvenilir yapmayın. Ağ konumları için Ağdaki Güvenilir Konumlara izin ver kutusu ayrıca işaretlenmelidir.

İnternetten gelen dosyalar: Güncel Microsoft 365 ve Office sürümlerinde internetten indirilen ya da e-postayla gelen dosyalardaki makrolar varsayılan olarak engellenir ve kırmızı bir güvenlik çubuğu görünür. Dosyaya Windows Gezgini'nde sağ tıklayıp Özellikler penceresinde Engellemeyi kaldır (Unblock) kutusunu işaretlemeniz gerekir. Kaynağına güveniyorsanız bunu yapın; aksi halde dosyayı açmayın. Makrolarınızı dağıtacaksanız dijital imza kullanmak, alıcıların güven sorununu azaltır.

Dosya biçimleri ve Kişisel Makro Çalışma Kitabı​

Dosya biçimleri: Standart .xlsx biçimi makro saklamaz. Makro içeren bir çalışma kitabını Dosya > Farklı Kaydet ile Excel Makro Etkin Çalışma Kitabı (*.xlsm) olarak kaydetmelisiniz. .xlsx olarak kaydetmeye çalışırsanız Excel makroların kaybolacağını söyleyen bir uyarı gösterir; Evet derseniz kodlar silinir. Diğer makro destekli biçimler şunlardır:
  • .xlsb: İkili çalışma kitabı; büyük dosyalarda daha küçük boyut ve hızlı açılış sağlar, makroları saklar.
  • .xltm: Makro etkin şablon; her yeni dosyada aynı makroları taşımak için.
  • .xlam: Eklenti dosyası; makroları birçok dosyada ortak kullanılabilir hale getirir ve Geliştirici > Eklentiler ya da Dosya > Seçenekler > Eklentiler ile yüklenir.
  • .xls: Eski biçim; makroları saklar ama satır ve sütun sınırları eskidir.
Kişisel Makro Çalışma Kitabı (PERSONAL.XLSB): Her çalışma kitabında kullanmak istediğiniz makrolar için gizli bir çalışma kitabıdır. Excel açıldığında arka planda otomatik yüklenir, böylece makrolarınız her dosyada hazırdır. Kurmak için:
  • Makro kaydederken Makroyu şuraya kaydet kutusundan Kişisel Makro Çalışma Kitabı'nı seçin. Dosya yoksa Excel kendisi oluşturur.
  • Excel'i kapatırken Değişiklikleri Kişisel Makro Çalışma Kitabı'na kaydetmek istiyor musunuz? sorusuna Kaydet deyin.
  • Dosya Windows'ta kullanıcı profilinizdeki XLSTART klasörüne (genellikle AppData\Roaming\Microsoft\Excel\XLSTART) yazılır.
  • Gizli olduğu için görmek istediğinizde Görünüm > Pencere > Göster (View > Window > Unhide) komutunu kullanın.
Kişisel Makro Çalışma Kitabı yalnız sizin bilgisayarınızdadır; makroyu başkalarıyla paylaşmak için makroyu bir .xlsm dosyasına ya da .xlam eklentisine taşıyın.

İleri teknikler ve performans​

Kaydedilmiş bir makro çoğu zaman çalışır ama fazla tıklama ve Select satırı içerir. Düzenleyicide kodu sadeleştirerek hızlandırabilir ve esnek hale getirebilirsiniz:
  • Select ve Selection kullanmayın: Kayıttaki Range("A1").Select ve ardından Selection.Font.Bold = True yerine doğrudan Range("A1").Font.Bold = True yazın; kod kısalır, ekran hareket etmez.
  • Değişken ve nesne kullanın: Dim ws As Worksheet ve Set ws = ActiveSheet ile sayfayı bir kez tanımlayın; kod okunur olur.
  • Döngü ve koşul: For...Next, For Each ve If...Then ile satırları tek tek denetleyip koşula göre işlem yapabilirsiniz.
  • Hata yönetimi: On Error Resume Next ve On Error GoTo ile beklenmedik durumlarda makronun çökmesini önleyin; ama hataları gizlemek yerine nedenini bulun.
  • Dinamik aralıklar: Sabit adresler yerine son dolu satırı bulan Cells(Rows.Count, 1).End(xlUp).Row kalıbını kullanın; veri artsa da makro çalışır.
  • Özel işlev (UDF): Function ile yazdığınız işlevi hücreye formül gibi yazabilirsiniz.
Büyük veride hız için ekran yenilemeyi ve otomatik hesaplamayı geçici olarak kapatın:
VBA 7 satır
Sub HizliIslem()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    ' islemler burada
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub
Performans için ayrıca hücreleri tek tek okuyup yazmak yerine aralığı bir kerede değişkene (dizi) alıp işlemeyi, tüm aralığa aynı anda değer ya da formül yazmayı tercih edin. Makro kendi içinde hata verip yarıda kalırsa ScreenUpdating kapalı kalabilir; hata yönetimiyle ayarları mutlaka eski haline getirin.

Sürüm farkları ve sınırlar​

  • Excel 2016, 2019, 2021 ve Microsoft 365 (Windows): Makro kaydetme, VBE ve .xlsm desteği aynıdır. Fark, güvenlik tarafındadır: güncel sürümlerde internetten gelen dosyalardaki makrolar engellenir ve dosya özelliklerinden engelin kaldırılması gerekir.
  • Excel for Mac: VBA ve makro kaydı vardır, ancak ActiveX denetimleri, Windows API çağrıları ve bazı COM nesneleri (CreateObject ile oluşturulanların çoğu) çalışmaz. Dosya yolları ve kısayollar da farklıdır.
  • Excel Web: VBA makroları çalışmaz ve makro kaydedilemez. Makro içeren dosyayı masaüstü Excel'de açmalısınız. Web'deki karşılık Otomatikleştir (Automate) sekmesindeki Office Scripts'tir; bu özellik lisansa göre sunulur ve TypeScript tabanlıdır.
  • Mobil uygulamalar: Telefon ve tablet uygulamaları makro çalıştırmaz.
  • 32 ve 64 bit: Windows API çağıran eski kodlarda 64 bit Excel için PtrSafe ve LongPtr düzenlemesi gerekir.
  • Sınırlar: Makro iptal edildiğinde yaptığı değişiklikler Geri Al (Ctrl+Z) ile geri alınamaz, çünkü makro geri alma geçmişini temizler. Aynı anda yalnız bir makro çalışır ve çalışırken Excel arayüzü yanıt vermeyebilir.

Neden çalışmıyor​

Sık karşılaşılan sorunlar:
  • Belirti: Sayfanın üstünde sarı Güvenlik Uyarısı: Makrolar devre dışı bırakıldı çubuğu var. Neden: Güven Merkezi varsayılan olarak makroları durdurur. Çözüm: Kaynağa güveniyorsanız İçeriği Etkinleştir'e tıklayın ya da dosyayı Güvenilir Konum'a taşıyın.
  • Belirti: Kırmızı çubukta makroların engellendiği yazıyor ve İçeriği Etkinleştir düğmesi yok. Neden: Dosya internetten ya da e-postadan geldi. Çözüm: Dosyayı kapatın, Gezgin'de sağ tıklayıp Özellikler > Engellemeyi kaldır kutusunu işaretleyin ve yeniden açın.
  • Belirti: Makro iletişim kutusu boş ya da makro listede yok. Neden: Makro kapalı bir çalışma kitabında, Kişisel Makro Çalışma Kitabı'nda ya da farklı bir kapsamda. Çözüm: Makroların bulunduğu yer kutusundan Tüm açık çalışma kitapları'nı seçin; ilgili dosyayı açın.
  • Belirti: Dosyayı kapatıp açınca makrolar yok. Neden: Dosya .xlsx olarak kaydedilmiş. Çözüm: Makro kaydedilmemişse geri dönüş yoktur; bundan sonra Farklı Kaydet ile .xlsm seçin.
  • Belirti: Makrolar rastgele hücrelerde ya da hep aynı hücrede çalışıyor. Neden: Mutlak ya da göreli kayıt modu yanlış seçilmiş. Çözüm: Başlangıç hücresine göre çalışması için Göreli Başvuru Kullan açıkken yeniden kaydedin ya da kodu düzenleyin.
  • Belirti: Kısayol tuşu çalışmıyor. Neden: Makronun bulunduğu dosya kapalı ya da başka bir makro aynı kısayolu kullanıyor. Çözüm: Alt+F8 > Seçenekler ile farklı bir tuş atayın.
  • Belirti: PERSONAL.XLSB makroları görünmüyor. Neden: Dosya Excel tarafından devre dışı bırakılmış olabilir. Çözüm: Dosya > Seçenekler > Eklentiler > Yönet: Devre Dışı Bırakılmış Öğeler > Git yolundan yeniden etkinleştirin.
  • Belirti: Çalışma zamanı hatası 1004. Neden: Sayfa korumalı, aralık adresi hatalı ya da sayfa gizli. Çözüm: Korumayı kaldırın, adresleri ve sayfa adını denetleyin.
  • Belirti: Çalışma zamanı hatası 9 (dizin değer aralığın dışında). Neden: Kodda adı geçen sayfa ya da çalışma kitabı yok ya da yeniden adlandırılmış. Çözüm: Adı denetleyin ya da ActiveSheet kullanın.
  • Belirti: Makro çok yavaş. Neden: Ekran yenileme, otomatik hesaplama ve Select satırları. Çözüm: ScreenUpdating ve Calculation ayarlarını kapatıp Select'leri kaldırın.
  • Belirti: Excel Web'de ya da telefonda makro çalışmıyor. Neden: Bu ortamlar VBA'yı desteklemez. Çözüm: Dosyayı masaüstü Excel'de açın.

1. Başlık satırını biçimlendiren makro​

Her ay aynı satış listesine aynı görünümü vermek en çok kaydedilen makro türüdür. Örnekte bölge, ürün, adet, birim fiyat ve tutar sütunları ham durumdadır. Makroyu Excel'de şöyle kaydedersiniz:
  • Geliştirici > Kod > Makro Kaydet düğmesine tıklayın, adı BaslikBicimle yazın, makroyu Bu Çalışma Kitabı'na kaydedin.
  • A1:E1 başlıklarını seçin; kalın yapın, yazı rengini beyaz, dolgu rengini koyu mavi seçin ve ortalayın.
  • D2:E7 aralığını seçip Giriş > Sayı grubundan binlik ayraçlı ve iki ondalıklı biçim verin.
  • A1:E7 aralığına Giriş > Yazı Tipi > Kenarlıklar > Tüm Kenarlıklar uygulayın ve sütunları otomatik sığdırın (sütun başlıkları arasındaki çizgiye çift tıklayın).
  • Kaydı Durdur'a basın.
Sonra Alt+F8 ile makroyu çalıştırmanız yeterlidir.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCDE
1BölgeÜrünAdetBirim FiyatTutar
2MarmaraLaptop1224.500,00294.000,00
3EgeTelefon3015.900,00477.000,00
4İç AnadoluTablet188.750,00157.500,00
5AkdenizMonitör255.400,00135.000,00
6KaradenizYazıcı94.200,0037.800,00
7Doğu AnadoluKlavye60650,0039.000,00
Satış RaporuExcelDepo v1.0.0
Makro çalıştıktan sonra başlık satırı koyu mavi zeminde beyaz ve kalın yazıyla ortalanır, tüm tablo kenarlık alır, fiyat ve tutar sütunları ondalıklı biçimle görünür ve sütunlar içeriğe göre genişler. Örneğin ilk satırın tutarı 294.000,00 olarak ondalıklı gösterilir. Makro sadece biçimi değiştirdiği için veriler ve formüller olduğu gibi kalır.

2. Veriyi sıralayan makro​

Personel listesini maaşa göre büyükten küçüğe sıralamak, rapor öncesi tekrarlanan bir işlemdir. Sicil no, ad soyad, departman ve maaş bilgileri karışık sıradadır. Makro kaydıyla yapılışı:
  • Makro Kaydet ile MaasaGoreSirala adlı bir makro başlatın.
  • Liste içinde herhangi bir hücreyi seçin; Veri > Sırala ve Filtre Uygula > Sırala (Data > Sort) komutunu açın.
  • Verilerimin üst bilgileri var kutusunu işaretleyin, Sırala ölçütü olarak Maaş, düzen olarak Büyükten Küçüğe seçin ve Tamam'a basın.
  • Başlık satırını kalın yapın ve Kaydı Durdur'a tıklayın.
Kayıt sırasında sıralama ölçütleri koda aktarılır; sonraki çalıştırmalarda yeni maaş değerleriyle yeniden sıralar.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCD
1Sicil NoAd SoyadDepartmanMaaş
21005Zeynep ArslanBilgi İşlem61.000
31008Hasan ÖztürkBilgi İşlem57.300
41002Mehmet DemirSatış52.000
51007Elif AydınSatış48.900
61003Fatma Kayaİnsan Kaynakları45.750
71004Ali ÇelikÜretim41.200
81001Ayşe YılmazMuhasebe38.500
91006Mustafa ŞahinLojistik36.800
Personel ListesiExcelDepo v1.0.0
Makro çalıştığında satırlar maaş sütununa göre büyükten küçüğe dizilir; en yüksek maaşlı personel başlığın hemen altında yer alır. Sıralama tüm satırı birlikte taşıdığı için sicil no, ad soyad ve departman bilgileri doğru kişiyle eşleşmeye devam eder. Başlık satırı kalın yapıldığı için verilerden ayrışır.

3. Boşlukları ve boş satırları temizleyen makro​

Dışarıdan aktarılan listelerde adların başında ve sonunda fazladan boşluklar, arada da tamamen boş satırlar bulunabilir. Bu makro her hücreyi temizler ve boş satırları siler. Kaydı sırasında şu adımları izleyin:
  • Makro Kaydet ile ListeyiTemizle makrosunu başlatın.
  • Yardımcı bir sütuna KIRP işleviyle temizlenmiş değerleri yazın, değerleri kopyalayıp özgün aralığa Özel Yapıştır > Değerler ile yapıştırın ve yardımcı sütunu silin.
  • Boş satırlar için Giriş > Bul ve Seç > Özel Git > Boşluklar komutuyla boş hücreleri seçin, Giriş > Hücreler > Sil > Sayfa Satırlarını Sil deyin.
  • Kaydı Durdur'a basın.
Kayıt yerine kod yazarsanız bu işlem döngüyle daha kısa ve güvenli yapılır; makro boş satırları alttan yukarıya doğru silerek satır kaymasını önler.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABC
1MüşteriŞehirTelefon
2Ayşe Yılmazİstanbul0532 111 22 33
3Mehmet DemirAnkara0533 222 33 44
4Fatma Kayaİzmir0535 333 44 55
5Ali ÇelikBursa0536 444 55 66
6Zeynep ArslanKonya0537 555 66 77
7Emre AydınAdana0538 666 77 88
Müşteri ListesiExcelDepo v1.0.0
Makro çalıştıktan sonra adların başındaki ve sonundaki boşluklar silinir, sözcükler arasındaki fazla boşluklar tek boşluğa iner ve iki boş satır listeden kalkar; kayıtlar aralıksız alt alta dizilir. Böyle bir veri temizliği makrosunu Kişisel Makro Çalışma Kitabı'na kaydederseniz her dosyada tek komutla kullanabilirsiniz.

4. Göreli formül yazan ve toplam ekleyen makro​

Satış temsilcilerinin hedef ve gerçekleşen tutarları verilmiş; makro her temsilci için başarı oranını hesaplayan formülü yazar ve altına toplam satırı ekler. Kayıt sırasında göreli başvuruyu şöyle kullanırsınız:
  • Geliştirici > Kod > Göreli Başvuru Kullan düğmesini açın, ardından D2 hücresini seçip Makro Kaydet ile BasariHesapla makrosunu başlatın.
  • D2 hücresine şu formülü yazın:
Excel formülü
=C2/B2
  • Formülü D7'ye kadar kopyalayın, D2:D8 aralığına Yüzde biçimi verin.
  • A8'e Toplam yazın, B8 ve C8'e TOPLA ile toplamları, D8'e başarı oranını yazın, satırı kalın yapın.
  • Kaydı Durdur'a basın.
Göreli modda kaydedilen makro, başlangıç hücresi değişse bile aynı yapıyı hücrenin konumuna göre kurar.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCD
1TemsilciHedefGerçekleşenBaşarı
2Ahmet Koç120.000134.000112%
3Seda Yıldız150.000121.50081%
4Murat Erdem90.00099.000110%
5Gül Tekin110.000104.50095%
6Can Polat130.000156.000120%
7Burcu Özkan100.00087.00087%
8Toplam700.000702.000100%
Hedef TakipExcelDepo v1.0.0
Makro D sütununa her satır için kendi satırına bakan bir başarı formülü yazar; ilk temsilcinin oranı 112% olarak görünür. Formüller aralığa tek seferde yazıldığı için başvurular satır satır otomatik kayar. Altta Toplam satırı eklenir ve genel başarı oranı 100% olarak hesaplanır. Toplam satırı kalın yazılıdır ve üstünde ince bir çizgi vardır. Makronun yazdığı formüller normal formüllerdir; veriler değişince kendiliğinden güncellenir.

5. Kritik stoku kırmızıya boyayan makro​

Mevcut stok asgari stok düzeyinin altına indiğinde satırın kırmızı görünmesini istiyorsunuz. Bu iş makro ile bir koşullu biçim kuralı eklenerek yapılır. Makro kaydıyla yapılışı:
  • Makro Kaydet ile KritikStokuVurgula makrosunu başlatın ve A2 hücresini seçin.
  • A2:D9 aralığını seçin; Giriş > Stiller > Koşullu Biçimlendirme > Yeni Kural > Biçimlendirilecek hücreleri belirlemek için formül kullan (Conditional Formatting > New Rule) yolunu izleyin.
  • Formül kutusuna şunu yazın:
Excel formülü
=$C2<$D2
  • Biçimlendir düğmesiyle açık kırmızı dolgu, koyu kırmızı ve kalın yazı seçin, ardından Tamam'a basın.
  • Başlık satırına mavi dolgu verip Kaydı Durdur deyin.
Formülde başlangıç hücresine göre göreli başvuru kullanıldığı için kural kayıttan önce A2'nin seçili olması gerekir.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCD
1ÜrünDepoMevcutAsgari
2A4 KağıtMerkez120100
3TonerMerkez410
4ZımbaŞube 13520
5DosyaŞube 1825
6KalemMerkez250200
7DefterŞube 21530
8SilgiŞube 26040
9AtaçMerkez512
Stok TakipExcelDepo v1.0.0
Mevcut stoku asgari düzeyin altında kalan ürünlerin (toner, dosya, defter ve ataç) bütün satırı açık kırmızı zeminde koyu kırmızı ve kalın yazıyla görünür; yeterli stoku olan ürünler normal kalır. Kural bir formüle dayandığı için C ya da D sütunundaki değerler değiştiğinde renkler kendiliğinden güncellenir; makroyu yeniden çalıştırmak gerekmez. Başlık satırı açık mavi dolguyla ayrışır.

6. Simge kümesi ekleyen makro​

Okul notlarında ortalamaya göre trafik ışığı simgesi göstermek, sonuçları bir bakışta okutur. Örnekte matematik ve fizik notları ile bir ortalama formülü vardır. Makro kaydıyla yapılışı:
  • Makro Kaydet ile NotSimgesiEkle makrosunu başlatın.
  • D2:D9 aralığını seçin ve Giriş > Stiller > Koşullu Biçimlendirme > Simge Kümeleri > Şekiller > Üç Trafik Işığı (Kenarlıksız) seçeneğini uygulayın.
  • Koşullu Biçimlendirme > Kuralları Yönet > Kuralı Düzenle ile yeşil için 70 ve üzeri, sarı için 50 ve üzeri değer ölçütünü girin; tür olarak Sayı seçin.
  • Başlık satırını kalın yapıp Kaydı Durdur'a basın.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCD
1ÖğrenciMatematikFizikOrtalama
2Burak Aksoy857881,5
3Selin Kara625860,0
4Deniz Uçar453841,5
5Gökhan Bal909492,0
6Merve Tan556861,5
7Emre Sezer304236,0
8Cansu Eren726669,0
9Kerem Duman485250,0
Not ÖzetiExcelDepo v1.0.0
Ortalama sütununun her hücresinde değerin yanında bir trafik ışığı belirir. Ortalaması 70 ve üzeri olanlar yeşil, 50 ile 70 arasında olanlar sarı, 50'nin altında olanlar kırmızı simge alır. Örneğin ilk öğrencinin ortalaması 81,5 olduğu için yeşil, üçüncü öğrencinin ortalaması 41,5 olduğu için kırmızı görünür. Eşikler makroda sayı olarak tanımlandığı için yüzde değil doğrudan puan değerine göre çalışır.

7. Döngüyle koşula göre satır boyayan makro​

Durum sütununda Gecikti yazan görevlerin satırını kırmızıya, Bitti yazanları yeşil yazıya çevirmek için döngülü bir makro uygun olur. Koşullu biçimin aksine renk sabit uygulanır; durum değişse bile makroyu yeniden çalıştırmadıkça güncellenmez. Yapılışı:
  • Durum sütununa Veri > Sırala ve Filtre Uygula > Filtre uygulayın.
  • Makro Kaydet ile GecikenleriBoya makrosunu başlatın; Durum süzgecinden yalnız Gecikti'yi seçin, görünen satırları seçip kırmızı dolgu ve kalın yazı verin.
  • Süzgeci temizleyip Bitti için yazı rengini yeşil yapın ve Kaydı Durdur deyin.
Kayıtlı kod sadece o günkü satırları boyar; döngülü kod ise tüm satırları tek tek denetlediği için yeni satırlarda da çalışır.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCD
1GörevSorumluBitişDurum
2Veri tabanı yedeklemeKerem10.03.2025Bitti
3Ağ altyapısı yenilemeSelin05.03.2025Gecikti
4Web sitesi tasarımıDeniz15.04.2025Devam Ediyor
5Bütçe raporuAyşe20.03.2025Gecikti
6Personel eğitimiMehmet02.05.2025Devam Ediyor
7Stok sayımıFatma28.03.2025Bitti
8Tedarikçi sözleşmeleriAli28.02.2025Gecikti
9Müşteri anketiZeynep30.04.2025Devam Ediyor
Proje TakipExcelDepo v1.0.0
Makro 2. satırdan 9. satıra kadar Durum sütununa bakar. Durumu Gecikti olan üç görevin satırı açık kırmızı zeminde koyu kırmızı ve kalın yazıyla boyanır. Durumu Bitti olan görevlerin yazısı yeşile döner, Devam Ediyor olan satırlar olduğu gibi kalır. Bu renkler sabit biçimdir; durumu daha sonra değiştirirseniz makroyu yeniden çalıştırmanız gerekir. Anlık güncelleme gerekiyorsa koşullu biçimlendirme tercih edilmelidir.

8. Tablo oluşturan ve bölmeleri dondurup toplam ekleyen makro​

Ham sipariş listesini her seferinde tabloya dönüştürmek, stil vermek, toplam satırı eklemek ve başlığı sabitlemek için tek bir makro kaydedebilirsiniz. Kayıtta şu adımları izleyin:
  • Makro Kaydet ile TabloYap adlı makroyu başlatın.
  • Liste içinde bir hücreyi seçin ve Ctrl+T tuşlarına basarak Tablo Oluştur (Create Table) penceresinde Tablomda üst bilgiler var kutusunu işaretleyin.
  • Tablo Tasarımı (Table Design) sekmesinden bir stil seçin ve Toplam Satırı kutusunu işaretleyin; Tutar sütununun toplamını seçin.
  • A2 hücresini seçin ve Görünüm > Pencere > Bölmeleri Dondur > Üst Satırı Dondur komutunu uygulayın.
  • D sütununa sayı biçimi verip sütunları sığdırın, Kaydı Durdur'a basın.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCD
1Sipariş NoMüşteriŞehirTutar
2SP-1001Yıldız Marketİstanbul12.450,50
3SP-1002Güneş KırtasiyeAnkara3.280,00
4SP-1003Deniz Eczanesiİzmir5.675,75
5SP-1004Anadolu GıdaKonya18.900,00
6SP-1005Ege TekstilDenizli9.320,25
7SP-1006Marmara YapıBursa14.780,00
8SP-1007Akdeniz TurizmAntalya7.410,00
9SP-1008Karadeniz BalıkTrabzon6.235,40
10Total)]78.051,90
Sipariş TablosuExcelDepo v1.0.0
Liste mavi tonlu şeritli bir Excel tablosuna dönüşür; başlıklar üzerinde süzgeç okları belirir, tablonun adı tblSiparis olur ve en altta Tutar sütununun toplamını gösteren bir toplam satırı eklenir. Tutarlar iki ondalıklı biçimle görünür, sütunlar içeriğe göre genişler ve ilk satır sabitlendiği için aşağı kaydırdığınızda başlıklar ekranda kalır. Tabloya yeni satır eklediğinizde toplam otomatik güncellenir.

9. Bölge özeti çıkaran makro​

Ham satış listesinden bölge bazında toplam çıkarmak çok yapılan bir rapor işidir. Makro, listenin sağında bir özet tablosu kurar. Kayıt sırasında şu adımları izleyin:
  • Makro Kaydet ile BolgeOzetiCikar makrosunu başlatın.
  • E1 ve F1 hücrelerine başlıkları, E2:E4 hücrelerine bölge adlarını yazın.
  • F2 hücresine bölge toplamını veren ETOPLA formülünü yazın ve F4'e kadar kopyalayın:
Excel formülü
=ETOPLA($A$2:$A$8;E2;$C$2:$C$8)
=SUMIF($A$2:$A$8,E2,$C$2:$C$8)
  • E5'e Genel Toplam yazın, F5'e TOPLA ile genel toplamı alın, başlık ve toplam satırlarını kalın yapıp Kaydı Durdur'a basın.
Makrolar
Formülünü incelemek için bir hücre seçin.
ABCDEF
1BölgeÜrünTutarBölgeToplam Tutar
2MarmaraLaptop24500Marmara30.850,00
3EgeTelefon15900Ege20.100,00
4AkdenizTablet8750Akdeniz10.050,00
5MarmaraMonitör5400Genel Toplam61.000,00
6EgeYazıcı4200
7AkdenizKlavye1300
8MarmaraFare950
Bölge ÖzetiExcelDepo v1.0.0
Makro listenin sağındaki E:F sütunlarında üç bölgenin özetini kurar. Marmara'nın toplamı 30.850,00, Ege'nin toplamı 20.100,00, Akdeniz'in toplamı 10.050,00 olarak hesaplanır ve genel toplam 61.000,00 değerini verir. Başlık hücreleri açık mavi zeminde, genel toplam satırı kalın yazılıdır. Özet gerçek formüllerle kurulduğu için veri listesindeki tutarlar değişirse özet de otomatik güncellenir.

10. Grafik oluşturan makro​

Aylık satış tablosundan her ay aynı biçimde sütun grafik hazırlamak için makro kaydedebilirsiniz. Kayıt adımları:
  • Makro Kaydet ile GrafikOlustur makrosunu başlatın.
  • A1:B7 aralığını seçin ve Ekle > Grafikler > Sütun veya Çubuk Grafik Ekle > Kümelenmiş Sütun (Insert > Charts > Clustered Column) seçeneğini uygulayın.
  • Grafik Tasarımı > Grafik Öğesi Ekle (Chart Design > Add Chart Element) menüsünden grafik başlığını ve eksen başlıklarını ekleyin; başlığı Aylık Satış Tutarı (TL) olarak yazın.
  • Gösterge gerekmediği için silin, grafiği tablonun sağına sürükleyin ve Kaydı Durdur'a basın.
Kayıtlı makro, grafiği her çalıştırışta yeni bir nesne olarak ekler; yinelenmemesi için çalıştırmadan önce eski grafiği silin.
Makrolar
Formülünü incelemek için bir hücre seçin.
AB
1AySatış (TL)
2Ocak125.000
3Şubat98.000
4Mart143.000
5Nisan167.500
6Mayıs152.000
7Haziran189.000
Aylık SatışExcelDepo v1.0.0
Makro, tablonun sağına 380 x 230 boyutunda kümelenmiş sütun grafik ekler. Grafiğin başlığı Aylık Satış Tutarı (TL), yatay eksen başlığı Ay, dikey eksen başlığı Satış (TL) olarak görünür; tek seri olduğu için gösterge kaldırılmıştır. Satış sütunu binlik ayraçla biçimlendiği için eksen değerleri okunaklıdır. Grafik tablodaki hücrelere bağlıdır; verileri değiştirdiğinizde grafik de kendiliğinden güncellenir.

Kullanırken dikkat edin​

  • Önce yedek alın: Makro ile yapılan değişiklikler Geri Al (Ctrl+Z) ile geri alınamaz; çünkü makro çalışınca geri alma geçmişi silinir. Yeni ya da başkasından aldığınız bir makroyu önce dosyanın bir kopyasında deneyin.
  • Dosyayı .xlsm olarak kaydedin: Makro içeren dosyayı .xlsx olarak kaydederseniz kodlar kalıcı olarak silinir. Dosya > Farklı Kaydet'te Excel Makro Etkin Çalışma Kitabı (*.xlsm) türünü seçin; dosya çok büyükse .xlsb de seçenektir.
  • Kaynağı bilinmeyen makroyu çalıştırmayın: Makrolar dosya sistemine erişebilir; zararlı kod yazılımların yaygın yoludur. İnternetten gelen dosyalarda İçeriği Etkinleştir'e basmadan önce göndericiye ve dosyanın kaynağına güvendiğinizden emin olun. Mümkünse Alt+F11 ile kodu gözden geçirin.
  • Makro Güvenliği ayarını koruyun: Tüm makroları etkinleştir ayarını açık bırakmayın. Bildirimle tüm makroları devre dışı bırak ayarı ile Güvenilir Konum birleşimi hem güvenli hem pratiktir.
  • Kaydı kısa ve planlı tutun: Kayıt sırasında yaptığınız her yanlış tıklama, geri alma ve gereksiz hücre seçimi koda girer. Adımları önce prova edin, sonra kaydedin ve ardından Alt+F11 ile gereksiz Select satırlarını silin.
  • Mutlak ve göreli kaydı bilerek seçin: Sabit bir tabloda çalışacak makro için mutlak kayıt, her seferinde farklı hücrede başlayacak makro için Göreli Başvuru Kullan açık kayıt uygundur. Veri uzunluğu değişiyorsa sabit adres yerine son satırı bulan kod yazın.
  • Kısayol tuşlarını dikkatli atayın: Ctrl+C, Ctrl+V gibi yerleşik kısayolları kendi makronuzla örtmeyin; Ctrl+Shift+harf birleşimi daha güvenlidir. Atadığınız kısayol yalnız makronun bulunduğu dosya açıkken çalışır.
  • Kişisel Makro Çalışma Kitabını kullanın: Her dosyada kullanacağınız genel makroları (veri temizleme, biçimlendirme gibi) PERSONAL.XLSB içinde saklayın. Dosya gizli açılır; görmek için Görünüm > Göster komutunu kullanın. Başka kişilerle paylaşılacak makrolar için .xlam eklentisi daha uygundur.
  • Makro adlarında dikkatli olun: Ad harfle başlamalı, boşluk ve noktalama içermemelidir. Aynı modülde ya da aynı kapsamda iki makroya aynı ad verilemez; Excel işlev adlarıyla çakışan adlardan (örneğin Sum) kaçının.
  • Makroyu durdurmak için Esc kullanın: Sonsuz döngüye giren ya da çok uzun süren makroyu Esc ya da Ctrl+Break ile durdurabilirsiniz. Açılan hata penceresinde Sonlandır'ı seçin; Ekran Güncelleme gibi ayarları kapattıysanız eski haline getirmeyi unutmayın.
  • Sayfa koruması makroyu durdurur: Korumalı bir sayfada makro hücreleri değiştirmeye çalışırsa 1004 numaralı çalışma zamanı hatası alırsınız. Kodun başında korumayı kaldırıp sonunda yeniden uygulayabilirsiniz ya da makroyu korumadan önce çalıştırın.
  • Koşullu biçim ile makro boyamasını karıştırmayın: Makro ile verilen renk sabit biçimdir; veri değişince güncellenmez. Anlık değişmesi gereken renkler için koşullu biçimlendirme, tek seferlik raporlar için makro boyaması tercih edin.
  • Excel Web ve mobilde makro çalışmaz: VBA makroları yalnız masaüstü Excel'de (Windows ve çoğu Mac özelliğiyle) çalışır. Excel Web'de Office Scripts, mobil uygulamalarda ise yalnızca dosyanın görüntülenmesi vardır. Makro içeren dosyaları paylaşırken bunu alıcılara bildirin.
  • İlgili konular: Geliştirici sekmesi, Visual Basic Düzenleyicisi (VBE), Makro Kaydet ve Göreli Başvuru Kullan komutları, Güven Merkezi ve Güvenilir Konumlar, Kişisel Makro Çalışma Kitabı (PERSONAL.XLSB), .xlsm ve .xlam dosya türleri, Koşullu Biçimlendirme, Tablo, Bölmeleri Dondur, Grafik ekleme ve Sırala komutları ile ETOPLA, TOPLA, ORTALAMA, KIRP işlevleri.
Örneklerdeki tabloları indirilebilir Excel dosyasında kendiniz de deneyebilirsiniz.
Yazar
ExcelDepo
İndirme sayısı
1
Gösterim
33
İlk yayın
Güncel

Puanlar

0.00 Oylama 0 İnceleme
Geri
Üst