
Excel'de her gün tamamen aynı tıklama dizilerini, biçimlendirme adımlarını ve veri ayarlamalarını yaparken kendinizi buluyorsanız, değerli zamanınızı boşa harcıyorsunuz demektir. İyi haber şu ki, Excel'in bu eylemleri hafızasına alıp saniyenin çok küçük bir bölümünde tekrarlayabilen yerleşik bir "teybi" vardır. Bu araca Makro adı verilir.
Excel makrolarını nasıl kullanacağınızı öğrenmek, genellikle bir kullanıcının elektronik tabloya yeni başlayan birinden ileri düzey bir kullanıcıya geçerken attığı en büyük adımdır. Otomasyon, manuel veri girişi hatalarını ortadan kaldırır, tutarlılık sağlar ve daha kritik analizler için programınızda boşluk yaratır. Aslında, makro otomasyonunu öğrenmek, birçok profesyonelin iş yükünü büyük ölçüde azaltma yoludur; hatta bir girişimin Excel otomasyonu ile haftada 20 saati nasıl kurtardığı hakkında daha fazla bilgi edinebilirsiniz.
Bu kapsamlı rehberde, bir makronun tam olarak ne olduğunu, ihtiyacınız olan araçları nasıl etkinleştireceğinizi ve ilk Excel makronuzu nasıl kaydedeceğinizi, çalıştıracağınızı ve düzenleyeceğinizi adım adım anlatacağız.
Özünde makro, tek bir komut olarak yürütebileceğiniz kaydedilmiş bir dizi eylem veya komuttur. Arka planda, bir makro kaydettiğinizde Excel, fare tıklamalarınızı ve tuş vuruşlarınızı VBA (Visual Basic for Applications) adı verilen bir programlama diline çevirir.
Son derece etkili makrolar oluşturmak için VBA kodu yazmayı bilmenize gerek yoktur. Makro Kaydedici'yi kullanarak görevinizi normal bir şekilde (kalın biçimlendirme uygulamak, bir IF veya SUM formülü eklemek veya sütun genişliklerini ayarlamak gibi) gerçekleştirirsiniz ve Excel gerekli kodu sizin için otomatik olarak yazar.
Varsayılan olarak, makroları kaydetmek ve yönetmek için gereken araçlar, yeni başlayanların yanlışlıkla çalışma kitaplarını değiştirmelerini önlemek amacıyla Excel'de gizlenmiştir. İlk adımınız Geliştirici sekmesini etkinleştirmektir.
Artık Geliştirici sekmesinin Excel şeridinizde Görünüm veya Yardım sekmelerinin yanında yer aldığını görmelisiniz. Bu sekme, makrolar ve otomasyonla ilgili her şey için kontrol merkezinizdir.
Pratik, gerçek dünyadan bir örnek üzerinden gidelim. Her sabah şirketinizin yazılımından bir satış verisi raporu dışa aktardığınızı hayal edin. Ham veriler her zaman dağınık görünür: sütunlar çok dardır, başlıklar biçimlendirilmemiştir ve her zaman bir SUM işlevi kullanarak en alta bir toplam satırı eklemeniz gerekir.
Bunu her gün manuel olarak yapmak yerine, bu raporu anında biçimlendirecek bir makro kaydedeceğiz.
Kaydet düğmesine basmadan önce adımlarınızı planlamak çok önemlidir. Makro Kaydedici kelimesi kelimesine çalışır; hataları, fazladan tıklamaları ve kaydırmaları da kaydeder. Sıranızı önceden bilmek, temiz ve verimli bir makro elde etmenizi sağlar.
Örneğimiz için, A'dan D'ye kadar olan sütunlarda verileriniz olduğunu ve 1. Satırda başlıkların yer aldığını varsayacağız. Planlanan adımlarımız şunlardır:
=SUM(D2:D100) (verilerinizin 100. satıra kadar gittiğini varsayarsak). Enter'a basın.Tebrikler! İlk makronuzu başarıyla kaydettiniz.
Az önce oluşturduğunuz şeyin gücünü test etmek için biçimlendirmeyi geri alalım. Verileriniz eski, ham durumuna dönene kadar birkaç kez Ctrl + Z tuşlarına basın. Şimdi Excel'in işi sizin için yapmasını izlemek üzere makroyu çalıştıralım.
Bir saniyeden daha kısa bir süre içinde Excel başlığı seçer, kalın ve mavi biçimlendirmeyi uygular, sütunlarınızı yeniden boyutlandırır ve SUM işlevini ekler. Manuel olarak 30 saniye sürebilecek bir görev sadece milisaniyeler alır.
Perdenin arkasına bakmak için programcı olmanıza gerek yoktur. Excel'in ürettiği kodu anlamak, tüm makroyu yeniden kaydetmek zorunda kalmadan küçük ayarlamalar yapmanıza yardımcı olur.
Kodunuzu görüntülemek için Geliştirici sekmesine gidin ve Visual Basic'e tıklayın (veya Alt + F11 tuşlarına basın). Bu VBA Düzenleyicisi'ni açar. Sol tarafta Modüller'e, ardından Module1'e çift tıklayın. Şuna benzer bir şey göreceksiniz:
Sub FormatDailyReport()
'
' FormatDailyReport Macro
' Formats headers, autofits columns, and adds a total.
'
Rows("1:1").Select
Selection.Font.Bold = True
With Selection.Interior
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0
End With
Columns("A:D").Select
Selection.EntireColumn.AutoFit
Range("D101").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-99]C:R[-1]C)"
End Sub
VBA bilmeseniz bile muhtemelen buradaki mantığı okuyabilirsiniz. Rows("1:1").Select Excel'in ilk satırı seçtiği anlamına gelir. Selection.Font.Bold = True onu kalın yaptığı anlamına gelir. Seçili sütunları A'dan D'ye yerine A'dan F'ye olarak değiştirmek isteseydiniz, metin düzenleyicide Columns("A:D").Select ifadesini manuel olarak Columns("A:F").Select şeklinde değiştirip kaydet tuşuna basabilirdiniz.
Bu betikleri sıfırdan nasıl yazacağınızı öğrenmekle ilgileniyorsanız, VBA temelleri üzerine okumak mükemmel bir sonraki adımdır.
Yeni başlayanlar için en yaygın tökezleme noktalarından biri makroların hücreleri nasıl seçtiği ile ilgilidir. Varsayılan olarak Makro Kaydedici Mutlak Başvurular kullanır. Bu, kayıt sırasında B5 hücresine tıklarsanız, etkin imlecinizin nerede olduğuna bakılmaksızın makronun her çalıştığında her zaman tam olarak B5 hücresine tıklayacağı anlamına gelir.
Bazen bir makronun, imlecinizin o anda bulunduğu yere göre bir hücreyi biçimlendirmesini istersiniz. Bunun için kaydetmeye başlamadan önce Göreli Başvuruları Kullan seçeneğini (Geliştirici sekmesindeki Makro Kaydet düğmesinin hemen altında bulunur) açmanız gerekir.
Bu konsepte aşina değilseniz, Excel'in konumlandırmayı nasıl ele aldığını anlamak için göreli ve mutlak başvurular konusundaki bilginizi tazeleyebilirsiniz. Aşağıda, makro kaydedicide iki modun nasıl davrandığına dair hızlı bir karşılaştırma bulunmaktadır:
| Kayıt Modu | Nasıl Çalışır? | En İyi Kullanım Alanı... |
|---|---|---|
| Mutlak Başvurular (Varsayılan) | Tam hücre adresini kaydeder (örn. Range("C10").Select). Makro her zaman C10'a geri dönecektir. | Sabit başlıkları biçimlendirmek, belirli bir statik veri tablosuna VLOOKUP işlevi uygulamak veya A1 hücresine bir başlık yerleştirmek. |
| Göreli Başvurular | Etkin hücreden olan uzaklığı (ofset) kaydeder (örn. ActiveCell.Offset(1, 0).Select). | "Bir alt satırı" biçimlendiren makrolar oluşturmak veya o anda seçili olan hücreye belirli bir stil uygulamak. |
Makrolarınızın her seferinde sorunsuz çalıştığından emin olmak için yeni başlayanlara yönelik şu en iyi uygulamaları aklınızda bulundurun:
Makro kaydetmek, elektronik tablo otomasyonuna mükemmel bir giriş noktasıdır. Kaydedicide ustalaştıktan sonra, haftalık rutininizdeki diğer darboğazları doğal olarak belirlemeye başlayacaksınız. Nihayetinde veri çekme, temizleme ve e-posta gönderme işlemlerinin tamamen el değmeden yapıldığı Excel VBA ile raporları otomatikleştirmeye tamamen geçiş yapabilirsiniz.
Ancak programlama sözdizimini öğrenmek herkese göre değildir. Makrolarınıza koymak için doğru INDEX, MATCH veya IF formüllerini bulmakta zorlanıyorsanız, Google'da arama yaparak saatlerinizi harcamanıza gerek yok. Bunun yerine, GPTExcel'ye ne elde etmek istediğinizi günlük dilde açıklamanız yeterlidir; o da çalışma kitabınıza yapıştırmanız için size anında mükemmel formülü veya VBA kod parçacığını oluşturacaktır.
Yerleşik Makro Kaydedici'yi modern yapay zeka araçlarıyla birleştirerek masanızdaki neredeyse her tekrarlayan görevi otomatikleştirebilir ve gerçekten önemli olan şeylere odaklanmak için kendinize daha fazla zaman ayırabilirsiniz.
Kendi kaydettiğiniz makrolar tamamen güvenlidir. Ancak VBA güçlü bir programlama dili olduğu için üçüncü şahıslar tarafından makroların içine kötü amaçlı kodlar yazılabilir. Makroları yalnızca güvenilir kaynaklardan indirdiğiniz çalışma kitaplarında çalıştırmalısınız. Excel'in makroları varsayılan olarak devre dışı bırakmasının ve bir .xlsm dosyası açtığınızda güvenlik uyarısı göstermesinin nedeni budur.
Hayır. Bir makronun eylemlerini tersine çevirmek için Geri Al (Ctrl + Z) düğmesini kullanamazsınız. Yeni bir makroyu önemli veriler üzerinde test etmeden önce çalışma kitabınızın yedek bir kopyasını kaydetmeniz şiddetle tavsiye edilir. Makro beklenmedik bir şekilde davranırsa, dosyayı kaydetmeden kapatabilir ve yedeğinizi yeniden açabilirsiniz.
Standart Excel dosyaları (.xlsx), güvenlik nedenleriyle her türlü koddan arındırılmıştır. Makro içeren bir çalışma kitabını .xlsx dosyası olarak kaydetmeye çalışırsanız, Excel bir uyarı görüntüler. Kaydedilen makrolarınızı korumak için "Kayıt türü" açılır menüsünü "Excel Makro Etkin Çalışma Kitabı (*.xlsm)" olarak değiştirmelisiniz.
Evet, kesinlikle. Bir makro kaydederken, bir hücreye yazdığınız herhangi bir formül —ister basit bir SUM, ister karmaşık iç içe geçmiş bir IF ifadesi olsun— kaydedilecektir. Makroyu daha sonra çalıştırdığınızda, Excel aynı formülü belirtilen hücreye ekleyecek ve sonuçları anında hesaplayacaktır.
Power Automate ile VBA olmadan Excel görevlerinizi nasıl otomatikleştireceğinizi keşfedin. Olay tetiklemeli akışlar oluşturmayı, verileri işlemeyi ve diğer uygulamaları bağlamayı öğrenin.
Excel'de VBA kullanarak otomatik raporlama sistemlerini nasıl kuracağınızı keşfedin. Adım adım kodlarla veri çekmeyi, formül eklemeyi, hücreleri biçimlendirmeyi ve raporları dışa aktarmayı öğrenin.
Excel'de VBA ile programlamaya başlayın. Geliştirici sekmesini, değişkenleri, döngüleri, koşulları ve sıfırdan ilk makronuzu nasıl yazacağınızı öğrenin.