• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Excel Dosyalarını Boyuta Göre Artalan Sıralayarak Birleştirme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

RBozkurt

Yeni Üye
Katılım
25 Ara 2021
Mesajlar
322
Çözümler
36
Aldığı beğeni
205
Excel V
Office 2021 TR
Konu Sahibi
Merhaba ustalarım iyi akşamlar,

Aşağıdaki makro ile aynı şablona ve farklı verilere sahip excel dosyalarını seçtirip AktifDosya.Worksheets(3) sayfasına alt alta aralarında 6şar satır boşluk olacak şekilde ekletiyorum. Çalışması biraz yavaş, diyelim 50 dosya seçtim 50 defa açılıp kapanıyor ve uzun sürüyor ama problem çıkarmadan aktarım sağlıyor.

Bu dosyaları eklemek için makro çalıştırınca açılır pencere geliyor. Ben oradan boyutu artalan şekilde sıralıyorum ve CTRL+A ile ekliyorum.
Boyut az olan listede baştan başlayarak; boyut artan veriler bu şekilde listeleniyor.
Normal alfabetik sıra ile de ekleniyor fakat; bu listeden veri çektirmek için farklı bir makro kullanıyorum. Bu sefer orada hata oluyor.
Çıkan hatayı çözemedim. Manuel olarak bu şekilde olursa hata olmadığını çözümledim.

Makro çalışıp dosya seçme ekranında rastgele tümünü seç işlemi yapılırsa bu dosyaları boyut artalan şekilde makro içeri alabilir mi?

Adsız.png


HTML:
C++:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
dosya yapıları aynı ise ADO yöntemi kullanılabilir belki
 
aşağıdaki kodu dener misiniz?
seçilen dosyaları boyuta göre sıralayıp sonra içe aktarır
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Son düzenleme:
Çözüm
Konu Sahibi
halily Ustam eline sağlık. Her iki kodu tek bi modüle ekleyerek çalıştırdım.
Rastgele seçim işlemi yaptım; işlem bittikten sonra oluşan listede dosya boyutu azdan çoğa doğru artatalan verileri çekti.
Diğer makromu da çalıştırdım sistematik artan şekilde verileri verdi. Çok teşekkürler.


👇
Daha sonra ihtiyaca binaen kullanmak isteyen olursa alttaki satırda *** yazan yere veriyi çektireceği sayfanın numarasını yazması yeterli.

Orj: Dosya.Worksheets(1).UsedRange.Copy AktifDosya.Worksheets("hy").Range("A65536").End(xlUp)(7, 1)
Dosya.Worksheets(1).UsedRange.Copy AktifDosya.Worksheets(***).Range("A65536").End(xlUp)(7, 1)
 
Rica ederim
İyi çalışmalar)
 
Ado yöntemini denemeyi düşündünüz mü? Dosya açıp kapamadan almak daha hızlı olabilir
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst