Çeşitli veri kaynaklarıyla çalışırken, son bir veri parçasına ulaşmadan önce birden çok çalışma kitabını ve çalışma sayfasını derlemek için genellikle zorlanabilirsiniz. Güne başlamadan önce bir araya getirmeniz gereken birkaç yüz çalışma kitabınızın olduğu bir durum hayal edin.

Hiç kimse, nihayet birleştirilmiş bir çalışma kitabı yapmadan önce, farklı kaynaklar üzerinde çalışarak, her bir çalışma kitabını açarak, çeşitli sayfalardan verileri kopyalayıp yapıştırarak sonsuz saatler harcamak istemez. Peki ya bir VBA makrosu bunu sizin için yapabilirse?

Bu kılavuzla, birden çok çalışma kitabını birleştirmek için birkaç dakika içinde (veri dosyaları çok fazlaysa) kendi Excel VBA makro kodunuzu oluşturabilirsiniz.

Kendi VBA Makro Kodunuzu Oluşturmak için Ön Koşullar

Kaynak veri çalışma kitaplarının geri kalanı ayrıyken, VBA kodunu barındırmak için bir çalışma kitabına ihtiyacınız vardır. Ek olarak, bir çalışma kitabı oluşturun konsolide tüm çalışma kitaplarınızdaki birleştirilmiş verileri depolamak için

instagram viewer

Klasör oluştur konsolidasyon tüm kaynak çalışma kitaplarınızı depolamak için tercih ettiğiniz konumda. Makro çalıştığında, bu klasörde depolanan her çalışma kitabı arasında geçiş yapar, çeşitli sayfalardan içeriği kopyalar ve Konsolide çalışma kitabına yerleştirir.

Kendi Excel VBA Kodunuzu Oluşturma

Ön koşullar ortadan kalktığında, kodu incelemenin ve gereksinimlerinize uyarlamak için temel bilgileri hacklemeye başlamanın zamanı geldi.

İlişkili: Bilmeniz Gereken Gelişmiş Microsoft Excel Özellikleri

basın Alt+F11 VBA makro kodu düzenleyicisini açmak için Excel'de tuşuna basın. Aşağıda yazılan kodu yapıştırın ve dosyayı Makro özellikli bir çalışma kitabı olarak kaydedin (.xlsm uzantı).

Alt açık dosyalar()

'VBA kodunda kullanılan değişkenleri bildirin

MyFolder As String, MyFile As String, wbmain As Workbook, Lastrow As Long

'kod işlemeyi geliştirmek için bu işlevleri devre dışı bırakın

Uygulama ile
.DisplayAlerts = Yanlış
.ScreenUpdating = Yanlış
İle bitmek

'dosyalarınızın kaydedileceği klasörün yolunu değiştirin

MyFolder = InputBox("Birleştirme klasörünün yolunu girin") & "\"

'klasörün referansını bir makro değişkeninde tanımla

MyFile = Dir (MyFolder)

'klasörde saklanan her bir çalışma kitabı arasında geçiş yapmak için bir döngü açın

Len (MyFile) > 0 iken Yap

'Konsolidasyon çalışma kitabını etkinleştir

Windows("Konsolidasyon").Etkinleştir

'son doldurulmuş satırı hesapla

Aralık("a1048576").Seç
Seçim. Bitir (xlUp).Seçin
Aktif hücre. Ofset (1, 0).Seç

Konsolidasyon klasöründeki ilk çalışma kitabını aç

Çalışma kitapları. Dosya Adını Aç:=Klasörüm ve Dosyam

Windows (MyFile).Etkinleştir

'verileri kopyalamak için çalışma kitaplarındaki her sayfa arasında geçiş yapın

Dim ws As Çalışma Sayfası
Sayfalardaki Her ws için

ws. etkinleştir
ws. AutoFilterMode = Yanlış

'başlığı görmezden gelin ve 2. satırdaki verileri kopyalayın
Hücreler (2, 1) = "" ise, 1'e Git

10'a git

1: Sonraki

10: Aralık("a2:az20000").Kopyala

Windows("Konsolidasyon").Etkinleştir

'kopyalanan içeriği yapıştırın

Aktif sayfa. Yapıştırmak

Windows (MyFile).Etkinleştir

'veriler yapıştırıldıktan sonra açık çalışma kitabını kapatın

Aktif Çalışma Kitabı. Kapat

'bir sonraki çalışma kitabının değerini depolamak için önbelleği boşaltın

Dosyam = Dizin()

'klasördeki sonraki dosyayı aç

Döngü

'ileride kullanmak üzere devre dışı bırakılan işlevleri etkinleştir

Uygulama ile
.DisplayAlerts = Doğru
.ScreenUpdating = Doğru
İle bitmek

Alt Alt

VBA Kodu Açıklaması

Kodun ilk kısmı, tüm VBA kodunuzu tutan bir alt yordam tanımlamaktır. ile alt programı tanımlayın alt, ardından kodun adı. Alt ad herhangi bir şey olabilir; ideal olarak, yazmak üzere olduğunuz kodla ilgili bir isim tutmalısınız.

İlişkili: Excel İpuçları ve Püf Noktaları Öğrenmek için Web Siteleri ve Bloglar

Excel VBA, kullanıcı tarafından oluşturulan değişkenleri ve bunlarla bildirilen ilgili veri türlerini anlar. loş (boyut).

Kodunuzun işlem hızını artırmak için ekran güncellemesini kapatabilir ve kodun yürütülmesini yavaşlatacağından tüm uyarıları bastırabilirsiniz.

Kullanıcıdan veri dosyalarının saklandığı klasörün yolu sorulacaktır. Klasörde depolanan her çalışma kitabını açmak, her sayfadaki verileri kopyalamak ve onu konsolidasyon çalışma kitabı.

Konsolidasyon çalışma kitabı etkinleştirilir, böylece Excel VBA en son doldurulan satırı hesaplayabilir. Çalışma sayfasındaki son hücre seçilir ve son satır, ofset işlevi kullanılarak çalışma kitabında hesaplanır. Bu, makro kaynak dosyalardan veri eklemeye başladığında oldukça kullanışlıdır.

Döngü ilk kaynak dosyayı açarken, filtreler her bir sayfadan kaldırılır (eğer mevcut) ve A2'den AZ20000'e kadar olan veriler kopyalanacak ve Konsolidasyona yapıştırılacaktır. çalışma kitabı.

İşlem, tüm çalışma kitabı sayfaları ana çalışma kitabına eklenene kadar tekrarlanır.

İlişkili: İleri Düzey Excel'de Ustalaşmak için En İyi Çevrimiçi Kurslar

Son olarak, tüm veriler yapıştırıldıktan sonra kaynak dosya kapatılır. VBA makrosunun sonraki dosya kümesi için aynı adımları tekrarlayabilmesi için sonraki çalışma kitabı açılır.

Döngü, ana çalışma kitabında tüm dosyalar otomatik olarak güncellenene kadar çalışacak şekilde kodlanmıştır.

Kullanıcı Tabanlı Özelleştirmeler

Bazen, özellikle son kullanıcıysanız, yerleşik istemler hakkında endişelenmek istemezsiniz. Konsolidasyon klasörünün yolunu kodda sabit kodlamayı tercih ederseniz, kodun bu bölümünü değiştirebilirsiniz:

MyFolder = InputBox("Birleştirme klasörünün yolunu girin") & "\"

İle:

MyFolder = "Klasör yolu" & "\"

Ayrıca, adım bu kodda yer almadığından sütun referanslarını da değiştirebilirsiniz. Sadece son sütun referansını en son doldurulmuş sütun değerinizle değiştirin (bu durumda AZ). Son doldurulan satırın makro kodu aracılığıyla hesaplandığını hatırlamanız gerekir, bu nedenle yalnızca sütun referansını değiştirmeniz gerekir.

Bu makrodan en iyi şekilde yararlanmak için, onu yalnızca çalışma kitaplarını aynı biçimde birleştirmek için kullanabilirsiniz. Yapılar farklıysa bu VBA makrosunu kullanamazsınız.

Excel VBA Makrosunu Kullanarak Birden Çok Çalışma Kitabını Birleştirme

Bir Excel VBA kodu oluşturmak ve değiştirmek, özellikle koddaki bazı nüansları anlıyorsanız, nispeten kolaydır. VBA sistematik olarak her kod satırından geçer ve satır satır çalıştırır.

Kodda herhangi bir değişiklik yaparsanız, kodun yürütülmesini kesintiye uğratacağından, kodların sırasını değiştirmediğinizden emin olmalısınız.

Verileri Sıralamak için 5 Harika Microsoft Excel Makrosu

Bu Excel makrolarıyla veri yönetimini çok kolay hale getirin.

Sonrakini Oku

PaylaşCıvıldamakE-posta
İlgili konular
  • Programlama
  • Programlama
  • Microsoft Excel
Yazar hakkında
Gaurav Siyali (19 Makale Yayınlandı)

Gaurav Siyal, bir dizi dijital pazarlama firması ve yazılım yaşam döngüsü belgeleri için iki yıllık yazma deneyimine sahiptir.

Gaurav Siyal'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın