• 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ü Dosya Birleştirme Makrosu Düzeltme

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.

bulentkars

Yeni Üye
Katılım
30 May 2022
Mesajlar
605
Çözümler
5
Aldığı beğeni
104
Excel V
Office 365 TR
Konu Sahibi
Arkadaşlar Merhaba;

Aşağıdaki kod ile C:\Şubeler\ Klasörü altındaki dosyaları birleştiriyorum.
yapmak istediğim;
1 - Makro çalışacağız zaman önce klasör açılacak ben klasörden hangi yolu seçip tamam yaptığımda hangi yolu seçersem o yola göre çalışmasını istiyorum.
2 - Birde Kopyalama yaptığım sayfa adı C100_Kart Yerine aktif sayfaları birleştimesini istiyorum.

Aşağıdaki kodda yardımcı olabilirseniz sevinirim. Şimdiden Teşekkürler
HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Bu kodlada ilk satırdaki başlıklar i.in dinamik son sütun olarak adres verir.
Kendinize göre ayarlayabilirsiniz.

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Sayın Refaz;
Tabloyu ek olarak paylaşmıssınız. Aşağıdaki 2 kodu nereye gireceğimi bilemedim. Size zahmet olmazsa tabloya ekleyip son durum tabloyu paylaşırsanız sevinirim.
MsgBox Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox Range(Cells(1, "A"), Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column)).Address
 
18.mesajdaki dosyayı 2.mesajdaki dosya ile güncelledim sadece ordaki kodu.
Son mesajdaki msgbkx olanlrla işiniz yok sadece son sütun bulma ve alan olarak örnek verdim.Son sütunu hangi satır kullanaksanız yazın oraya uygulayayım.
 
Konu Sahibi
18.mesajdaki dosyayı 2.mesajdaki dosya ile güncelledim sadece ordaki kodu.
Son mesajdaki msgbkx olanlrla işiniz yok sadece son sütun bulma ve alan olarak örnek verdim.Son sütunu hangi satır kullanaksanız yazın oraya uygulayayım.
Merhaba

Aslında olması gereken şu

Dosyayı açıp A: sağa doğru en dolu sütunu seçip kopyalayacak.
Örneğin dosyada A:D arası sütun dolu ise A:D arasını seçip kopyalayacak.
Veya aklıma şimdi geldi mümkün olur mu acaba
4.Seçenek Dosya birleştirme makrosu çalışacak

Klasör yeri seçilecek
Sayfa adı seçilecek

Buraya bir inpuxbox koyup kopyalanacak aralığı seçin diyecek
Örneğin yeni sayfada a:f arasını seçip tamam dediğimde
Dosyaları birleştirme yaparken A:f aralığını kopyalayacak.
Buda şimdi aklıma geldi tabi eğer mümkünse değilse en son eklediğiniz dosyayadaki aralığı A:AZ yaptırımda da iş görüyor.
Teşekkürler.
 
Dosyayı açıp A: sağa doğru en dolu sütunu seçip kopyalayacak.
Örneğin dosyada A:D arası sütun dolu ise A:D arasını seçip kopyalayacak.
Sub Subeleri_Birlestir() bu kada resimdeki sarıya boyadığım gibi yapın.Ama koda göre 4.sütun fitreleme yaptığınız için eğer sonsutun 4 den küçükse gibi şartta ekleyebilirsiniz.
Diğer inputbox için yapıncada eklerim.

Screenshot 2023-11-18 143140.png
 
Konu Sahibi
Merhaba

Bu kodu daha önce web den bulduğum bir kod.
Ben tam koddan anlamadığım için mantığın A2:D arasını kopyalama yaptığını biliyorum.
Ben başka yerde kullanacağım zaman kod içerisinde A:D yi ihtiyaca göre A:F yapabiliyorum.
Bu çalışmada da benim bu koddan ziyade klasör altındaki dolayaları tek sayfaya birleştirmek istiyorum. Herkesin bundan faydalanması için de seçenek olsun kullanıcının seçeneğine göre olsun istedim.
Yani
Makro çalıştır
4 seçeneği seç
Klasör seç
Birleşecek sayfa adını seç
İnputbox üzerinden ilk yazıda yazdığım gibi
veya userform üstünde iki adet combobox olacak
Bir comboboxta örneğin A girecek diğer Comboboxta D girip tamam dediğinde makro A:D arasını kopyalama yapacak.
zamanınızı alacaksa eğer yapmayabilirsiniz. Size çok zahmet verdiğimin farkındayım. Bu haliylede kod işimi görüyor.
Allah sizden razı olsun.
 
Bir comboboxta örneğin A girecek diğer Comboboxta D girip tamam dediğinde makro A:D arasını kopyalama yapacak.
Bunun için yeni konu açın bende şaşırdım artık ne yapacağımı :)
Neyse ekteki sonu 2 olan dosyada tek inputbox açılır ve orda gifteki gibi seçin.Başlıkları seçerseniz seçilenin altından kopyalar.Sonu 1 olan ise her defasında inputbox çıkar hücre seçim için ve önceki ile aynı.
Benden bu kadar abey,dediğim gibi yeni konu açın çünkü konu çok uzadı.



Animation.gif
 
Konu Sahibi
Sayın Refaz,
Elinize emeğinize sağlık.
Tam istediğim gibi oldu
Allah sizden razı olsun.
İyiki varsınız.
 
Sizdende abey.Ağer kapalı dosya çoksa her defasında exceli açtırma yerine seçilen sayfa varsa açılsın koduda eklenir.
 
29.Mesajdaki açıklamalar ile birlikte bu dosyalarda eğer kapalı dosyada seçilen sayfa yoksa açılmaz boşuna.

Kolay gelsin.
 
Çözüm
Rica ederim,kolay gelsin.Eğer yavaş çalışırsa yeni konu açın open yerine Ado ile excel açmadanda alınabilinir veri.
 
Birde yapmışken Kapalı excelleri açtırmadan Ado ile aldırdım.Eğer öncekiler yavaş olursa bunu kullanabilirsiniz.
Zip içine gifteki leri ekledim çoğaltıp.

Animation.gif
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst