Özellik ikonu

Makro Kaydet

İndirme izni yok

Genel Bakış

Makro Kaydet (Record Macro), Excel'de yaptığınız seçim, biçimlendirme, sıralama gibi işlemleri adım adım izleyip bir VBA makrosuna dönüştüren komuttur. Kod bilmeden tekrarlayan işleri tek tıkla ya da kısayol tuşuyla yeniden çalıştırmanızı sağlar. Kaydedilen kod aynı zamanda VBA öğrenmek için iyi bir başlangıç noktasıdır.

Nerede bulunur​

Komuta iki yoldan ulaşabilirsiniz:
  • Geliştirici > Kod > Makro Kaydet (Developer > Code > Record Macro): Geliştirici sekmesi görünmüyorsa Dosya > Seçenekler > Şeridi Özelleştir (File > Options > Customize Ribbon) bölümünden Geliştirici onay kutusunu işaretleyin.
  • Görünüm > Makrolar > Makrolar > Makro Kaydet (View > Macros > Macros > Record Macro): Geliştirici sekmesini açmadan da kullanılabilir.
  • Durum çubuğu: Pencerenin sol altındaki küçük kayıt düğmesi de kaydı başlatır, kayıt sürerken durdurma düğmesine dönüşür.
Kayıtlı makroları listelemek için Alt+F8, kodu görmek ve düzenlemek için Alt+F11 (Visual Basic Düzenleyicisi) tuşlarını kullanın.

Nasıl kullanılır​

Kayıt işlemi şu adımlarla yapılır:
  1. Makro Kaydet komutunu seçin; açılan pencerede Makro adı alanını doldurun. Ad harfle başlamalı, boşluk içermemeli ve özel karakter taşımamalıdır (ör. BaslikBicimle ya da Baslik_Bicimle).
  2. İsterseniz Kısayol tuşu (Shortcut key) kutusuna bir harf yazın; makro Ctrl+harf ya da büyük harf girerseniz Ctrl+Shift+harf ile çalışır. Var olan Excel kısayollarını ezmemeye dikkat edin.
  3. Makroyu şuraya kaydet (Store macro in) listesinden hedefi seçin: Bu Çalışma Kitabı (This Workbook), Yeni Çalışma Kitabı (New Workbook) ya da Kişisel Makro Çalışma Kitabı (Personal Macro Workbook). Kişisel çalışma kitabı, makroyu tüm dosyalarınızda kullanılabilir yapar.
  4. İsteğe bağlı Açıklama (Description) yazın ve Tamam düğmesine basın; kayıt başlar.
  5. Otomatikleştirmek istediğiniz işlemleri sırayla yapın. Kayıt sırasında yaptığınız her adım koda eklenir; gereksiz tıklamalardan kaçının.
  6. Geliştirici > Kod > Kaydı Durdur (Stop Recording) komutuyla ya da durum çubuğundaki durdurma düğmesiyle kaydı bitirin.
  7. Makroyu çalıştırmak için Alt+F8 ile listeden seçin, atadıysanız kısayol tuşunu kullanın ya da bir düğmeye ya da şekle atayın.
Makro içeren dosyayı Excel Makro Etkin Çalışma Kitabı (*.xlsm) türünde kaydedin; normal .xlsx biçimi makroları saklamaz.

Kaydedilen kod nasıl görünür​

Kaydedici, her işlemi bir VBA yordamına çevirir. Örneğin A1:D1 hücrelerini seçip kalın yapan ve renklendiren bir kayıt şuna benzer bir kod üretir:
VBA 5 satır
Sub Makro1()
    Range("A1:D1").Select
    Selection.Font.Bold = True
    Selection.Interior.Color = 12611584
End Sub
Kayıtta fareyle yaptığınız seçimler Select ve Selection ile kodlanır. Bu kod çalışır, ancak uzun ve yavaştır; Alt+F11 ile açıp Select satırlarını kaldırarak doğrudan Range("A1:D1").Font.Bold = True biçimine getirebilirsiniz.

Makro varsayılan olarak mutlak başvuru ile kayıt yapar: A1'i seçtiyseniz makro her seferinde A1'i seçer. Göreli Başvuru Kullan (Use Relative References) düğmesini kayıt başlamadan önce açarsanız, hareketler etkin hücreye göre kaydedilir ve makro o an hangi hücredeyseniz oradan başlar.

Kaydedicinin sınırları​

Makro kaydedici kullanışlıdır ancak bazı sınırları vardır:
  • Mantık kuramaz: Döngü, koşul (If) ya da kullanıcıdan değer isteme gibi yapıları kaydedemez; bunları kodu düzenleyerek eklemeniz gerekir.
  • Sabit aralık yazar: Kayıt sırasında 10 satır seçtiyseniz makro her zaman 10 satırla çalışır; veri sayısı değişirse kodu uyarlamanız gerekir.
  • Her şeyi kaydetmez: Bazı pencere işlemleri ve fare hareketleri koda yansımaz; açılır pencerede yaptığınız son ayarlar ise kodda uzun bir parametre listesi olarak görünebilir.
  • Geri alınmaz: Makro çalışınca yaptığı değişiklikler Ctrl+Z ile geri alınamaz; denemeleri bir kopya dosyada yapın.

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

Sayfada ürün, şehir, adet ve birim fiyat bilgileri var. Makro Kaydet ile başlık satırını kalın, beyaz yazılı ve koyu mavi dolgulu yapmak, fiyat sütununa ondalıklı biçim vermek ve sütunları otomatik sığdırmak için Geliştirici > Kod > Makro Kaydet komutunu çalıştırıp bu işlemleri sırayla yapın, sonra kaydı durdurun. Örnek dosyada aynı işlemleri yapan kod hazırdır.
Makro Kaydet
Formülünü incelemek için bir hücre seçin.
ABCD
1ÜrünŞehirAdetBirim Fiyat
2Kalemİstanbul12014,50
3DefterAnkara8532,00
4Silgiİzmir2005,75
5DosyaBursa6018,90
6KlasörAdana4541,25
7MarkerKonya15012,40
8ZımbaAntalya3027,80
Kırtasiye ListesiExcelDepo v1.0.0
Makro çalıştırıldığında başlık satırı tek seferde biçimlenir, birim fiyatlar iki ondalıkla görünür ve sütun genişlikleri içeriğe uyar. Aynı makroyu başka bir listede kullanmak için kodu yeni aralığa göre düzenlemeniz yeterlidir.

2. Toplam satırı ekleyen makro​

Tabloda altı aylık satış ve gider tutarları var. Makro kaydederken A8 hücresine Toplam yazın, B8 ve C8 hücrelerine her sütunun toplamını alan formülleri girin, satırı kalın yapın ve kaydı durdurun. Örnekteki makro bu adımları kodla uygular.
Makro Kaydet
Formülünü incelemek için bir hücre seçin.
ABC
1AySatış TutarıGider
2Ocak125.000,0084.000,00
3Şubat98.000,0071.000,00
4Mart143.000,0090.500,00
5Nisan132.500,0088.000,00
6Mayıs156.000,0097.500,00
7Haziran171.500,00102.000,00
8Toplam826.000,00533.000,00
Aylık ÖzetExcelDepo v1.0.0
Makro 8. satıra Toplam etiketini ve iki toplam formülünü yazar. Satış toplamı 826.000,00, gider toplamı 533.000,00 olarak hesaplanır. Kayıt sırasında formülü Formül Çubuğu'ndan girdiğinizde kod, formülü Formula özelliğiyle İngilizce işlev adlarıyla saklar; bu nedenle makro farklı dil ayarlı Excel'lerde de çalışır.

3. Sıralama ve filtre makrosu​

Sipariş listesinde tutar sütunu adet ile birim fiyatın çarpımından hesaplanır. Makro kaydederken tüm tabloyu seçip tutara göre büyükten küçüğe sıralayın, ardından Veri > Sırala ve Filtre > Filtre (Data > Sort & Filter > Filter) komutunu açın ve kaydı durdurun. Örnek dosyada bu adımları yapan makro hazırdır.
Makro Kaydet
Formülünü incelemek için bir hücre seçin.
ABCD
1ÜrünAdetBirim FiyatTutar
2Tablet157.800,00117.000,00
3Monitör124.250,0051.000,00
4Yazıcı85.900,0047.200,00
5Kulaklık30890,0026.700,00
6Klavye40650,0026.000,00
7Webcam221.150,0025.300,00
8Fare55320,0017.600,00
Sipariş ListesiExcelDepo v1.0.0
Makro çalışınca satırlar Tutar sütununa göre büyükten küçüğe dizilir, başlık hücrelerinde filtre okları belirir ve sütunlar içeriğe göre genişler. Tutar sütunundaki formüller her satırda kendi satırının adet ve fiyatını kullandığı için sıralamadan sonra da doğru sonuç verir. Yeni siparişler eklendiğinde makroyu kullanmak için kodun aralığını (A1:D8) genişletmeniz gerekir.

Kullanırken dikkat edin​

  • Makro güvenliği: Makrolar varsayılan olarak engellenebilir. Geliştirici > Kod > Makro Güvenliği (Developer > Code > Macro Security) bölümünden ayarı denetleyin; yalnızca güvendiğiniz kaynaklardan gelen dosyalarda makroları etkinleştirin. Kendi makrolarınız için güvenilir bir klasör kullanmak daha güvenlidir.
  • Dosya türünü doğru seçin: Makro içeren çalışma kitabını .xlsx olarak kaydetmeye çalışırsanız Excel makroların kaybolacağı uyarısı verir. Dosyayı Excel Makro Etkin Çalışma Kitabı (*.xlsm) olarak kaydedin.
  • Kayda başlamadan önce hazırlanın: Kayıt sırasındaki her tıklama ve hata koda girer. İşlemi önce bir kez deneyin, başlangıç hücresini ve gerekli sayfayı seçin, sonra kaydı başlatın. Yanlış bir adım attıysanız kaydı yeniden başlatmak, kodu temizlemekten çoğu zaman daha kolaydır.
  • Göreli başvuruyu bilinçli kullanın: Makronun her seferinde aynı hücrelerde mi yoksa etkin hücreden itibaren mi çalışacağına kayıttan önce karar verin. Göreli Başvuru Kullan düğmesi kayıt başladıktan sonra da değiştirilebilir, ancak bu durum kayıttaki hareketleri karıştırabilir.
  • Kodu sadeleştirin: Kaydedilmiş kodda gereksiz Select, Selection ve ActiveCell ifadeleri bulunur. Bunları doğrudan nesne başvurusuyla değiştirmek makroyu hızlandırır, ekranın titremesini azaltır ve kodu okunur kılar.
  • Makro adı kuralları: Makro adı harfle başlamalı, boşluk ve noktalama içermemeli ve hücre başvurusu gibi (ör. AB12) görünmemelidir. Aynı ad iki kez kullanılamaz; ikinci kayıtta Excel sizi uyarır.
  • İlgili konular: Geliştirici sekmesi, Visual Basic Düzenleyicisi (Alt+F11), Makrolar penceresi (Alt+F8), Kişisel Makro Çalışma Kitabı, Göreli Başvuru Kullan, Makro Güvenliği, VBA'da Sub yordamı, Range nesnesi, Select ve Selection, Sort ve AutoFilter yöntemleri, TOPLA işlevi.
Örneklerdeki tabloları indirilebilir Excel dosyasında kendiniz de deneyebilirsiniz.
Yazar
ExcelDepo
İndirme sayısı
0
Gösterim
10
İlk yayın
Güncel

Puanlar

0.00 Oylama 0 İnceleme
Geri
Üst