Diğer Kitaba Yalnız Bulunmayan Satırları Makroyla Kopyalama

muratgunay48

Kullanıcı
Katkı: %0
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Hocalarım, Deneme dosyası var, makro çalıştırınca (listeler 4. satırdan başlayacak, üst taraf başlık) Deneme dosyasındaki satırları Deneme 1 adlı dosyaya kopyalayacak. Üstten sırayla boş olan satıra kopyalayacak. Ancak satırın aynısı varsa kopyalamayacak. Mesela Deneme 1 'de aaa ve bbb 'lerin olduğu satırlar var. Onları kopyalamayacak.
Şimdiden teşekkür ederim.
 

Ekli dosyalar

Merhaba, aşağıdaki makroyu Deneme.xlsm dosyasında Alt+F11 ile açılan VBA penceresinde yeni bir modüle yapıştırıp çalıştırabilirsiniz. Makro, Deneme 1.xlsm dosyasını Deneme.xlsm ile aynı klasörde arar; dosya açıksa açık hâlini kullanır, kapalıysa kendisi açar.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (62 satır). Giriş Yap

Makro nasıl çalışır?
  1. Deneme 1 dosyasında 4. satırdan itibaren dolu satırlar okunur; her satırın dolu sütunlardaki hücreleri (örnek dosyada A:P) birleştirilerek bir anahtar oluşturulur ve Dictionary nesnesine eklenir.
  2. Deneme dosyasındaki her satır için aynı anahtar üretilir. Anahtar sözlükte zaten varsa satır atlanır; örnek dosyadaki aaa ve bbb satırları bu nedenle kopyalanmaz.
  3. Yeni satır, hedefte 4. satırdan itibaren üstten bulunan ilk boş satıra kopyalanır; hücre biçimleri de taşınır.
  4. Kopyalanan satırın anahtarı da sözlüğe eklenir; böylece kaynak dosyada kendi içinde tekrar eden satırlar yalnızca bir kez aktarılır.
  5. İşlem sonunda Deneme 1 kaydedilir ve kaç satır aktarıldığı mesajla bildirilir.

Notlar
  • Sütun sayısı kaynak sayfadaki son dolu sütuna göre belirlenir; örnek dosyada A:P aralığıdır.
  • Karşılaştırma satırın tamamını kapsar: tek bir hücresi bile farklı olan satır yeni satır sayılır, büyük/küçük harf farkı da ayrı satır olarak değerlendirilir.
  • Dosya veya sayfa adlarınız farklıysa koddaki "Deneme 1.xlsm" ve "Sayfa1" ifadelerini kendi dosyanıza göre değiştirmeniz yeterlidir.
 
Geri
Üst