Aynı anda birden fazla çalışma kitabında makro nasıl çalıştırılır?
Birden fazla Excel çalışma kitabı ile uğraşmak genellikle aynı işlemi veya otomasyon görevini birçok dosya üzerinde tekrarlamayı gerektirir. Her bir çalışma kitabını tek tek açıp makroyu çalıştırmak yalnızca çok zaman almakla kalmaz, aynı zamanda özellikle büyük dosya gruplarıyla çalışıldığında hata riskini de artırır. Bu süreci otomatikleştirmek, üretkenliği ve doğruluğu artırmak için gereklidir.
VBA (Visual Basic for Applications) kullanarak iş akışınızı akıllıca yönetebilir ve belirlenen bir klasördeki her çalışma kitabında otomatik olarak bir makroyu çalıştırabilirsiniz. Böylece çaba harcamadan tutarlılık sağlanır. Bu kılavuz, her dosyayı manuel olarak açmanıza gerek kalmadan istediğiniz makroyu birden fazla çalışma kitabı dosyası üzerinde çalıştırabilmeniz için VBA çözümünün nasıl kurulacağını ve kullanılacağını açıklar.
Bu yaklaşımın değerli olduğu tipik senaryolar şunlardır:
- Aylık raporlar koleksiyonuna biçimlendirme veya hesaplamalar uygulama
- Veri dışa aktarımları kümesi üzerinde veri temizleme adımlarını standartlaştırma
- Şablonlara toplu güncelleme yapma veya eski dosyalara yapı ekleme
VBA koduyla aynı makroyu birden fazla çalışma kitabında çalıştırma
Aynı makroyu birden fazla çalışma kitabında, her birini manuel olarak açmadan verimli şekilde çalıştırmak için toplu işlem yapmaya uygun bir VBA betiği kullanabilirsiniz. Bu yöntem, önce bir klasör seçmenizi ister, ardından bu klasördeki tüm çalışma kitabı dosyalarını otomatik olarak işler. Çoğu yaygın makro otomasyon görevi için idealdir.
Başlamadan önce:
- Tüm hedef çalışma kitapları kapalıdır; betik, bunları gerektiği gibi otomatik olarak açıp işleyecektir.
- Çalıştırmak istediğiniz makro, mesaj kutuları veya giriş istemleri gibi kullanıcı etkileşimi gerektirmemelidir; aksi takdirde toplu işlem iletişim kutuları tarafından kesintiye uğrayabilir.
- İşlerinizi kaydettiğinizden emin olun; çünkü toplu makro işlemleri kolayca geri alınamaz ve dikkatli kodlanmamışsa verilerin üzerine yazabilir.
Bir makroyu birden fazla çalışma kitabına uygulamak için şu adımları izleyin:
1. "Microsoft Visual Basic for Applications" penceresini açmak için **Alt + F11** tuşlarına basın.
2. Açılan VBA düzenleyicide yeni bir modül oluşturmak için "Ekle" > "Modül" seçeneğine tıklayın, ardından verilen makroyu boş modül penceresine yapıştırın.
VBA kodu: Aynı anda birden fazla çalışma kitabında aynı makroyu çalıştırma:
Sub LoopThroughFiles()
Dim xFd As FileDialog
Dim xFdItem As Variant
Dim xFileName As String
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
If xFd.Show = -1 Then
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Do While xFileName <> ""
With Workbooks.Open(xFdItem & xFileName)
'your code here
End With
xFileName = Dir
Loop
End If
End Sub
Önemli notlar ve ipuçları:
- Yukarıdaki kodda
With Workbooks.Open(xFdItem & xFileName)satırını bulun. Bu satırlaEnd Withsatırı arasına kendi makro kodunuzu (kendi)SubveEnd Subsatırlarını hariç tutarak) yapıştırın. Böylece işlem, her açılan çalışma kitabında otomatik olarak yürütülür. - Toplu işlemin sorunsuz çalışması için makro mantığınızı ve dosya yollarınızı bir kez daha gözden geçirin; ayrıca makronuz veri değişikliği yapıyorsa, öncelikle küçük bir dosya kümesi üzerinde test etmeyi düşünün.
Makro mantığınızı nereye yapıştıracağınızı gösteren ekran görüntüsüne bakın:

3. Toplu betiği çalıştırmak için VBA düzenleyicide "F5" tuşuna basın; ardından bir klasör seçim iletişim kutusu açılacaktır.
4. "Göz At" penceresinden işlemek istediğiniz tüm çalışma kitaplarını içeren klasörü seçin. Betik, bu konumdaki her Excel dosyasında döngü yaparak makro mantığınızı çalıştırır.

5. Toplu işlemi başlatmak için "Tamam" düğmesine tıklayın. Eklediğiniz makro bölümü, seçilen klasördeki tüm hedef çalışma kitaplarında otomatik olarak yürütülür. İşlem süresi, makronuzun karmaşıklığına ve klasördeki dosya sayısına bağlı olarak değişebilir; daha büyük toplu işlemler daha uzun sürebilir.
- Makro güvenliği: İstenirse, makroları etkinleştirin veya güvenilir bir konumdan çalıştırın.
- Hedef Dosya Türü:
*.xls*deseni,.xlsx,.xlsmve.xlsbdosyalarını içerir. Gerekirse ayarlayın. - With bloğu içinde tam nitelik kullanın:İşlemlerin açılan çalışma kitabına uygulanabilmesi için baştaki noktayı kullanın (örneğin,)
.Worksheets("Sheet1")).
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile güçlendirin ve hiç yaşanmamış bir verimlilik deneyimi yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli arayüz getirir ve işinizi çok daha kolay hale getirir
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project’te sekmeli düzenleme ve okumayı etkinleştirin.
- Birden fazla belgeyi aynı pencerenin yeni sekmelerinde açın ve oluşturun, yeni pencerelerde değil.
- Günlük üretkenliğinizi %50 artırır ve size her gün yüzlerce fare tıklamasından tasarruf sağlar!
Tüm Kutools eklentileri, tek bir yükleyiciyle!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint için eklentilerin yanı sıra Office Tab Pro’yu da içerir; böylece Office uygulamalarında çalışan ekipler için ideal bir çözümdür.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek yükleyici, tek lisans— birkaç dakikada kurulum (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamaları arasında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar