• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

eşleme

Katılım
27 Nisan 2005
Mesajlar
24
ilk olarak herkese merhaba..

sorumun çok karışık olmadığını sanıyorum ama gene de yardımcı olursanız sevinirim.. bir döngü gerekiyor diye düşünüyorum..

örnek dosya içerisindeki "veri1" isimli sheet içerisindeki bilgilerle "veri2" iisimli sheet içerisindeki bilgilerin eşlenmesini istiyorum..

sonuç olarak "veri1" sheeti içerisinde yer alan verilerin yanına "veri2" sheeti içerisinde yer alan bilgilerin süzülüp yazılmasını istiyorum..

yardımlarınız için şimdiden teşekkürler..
 
Aşağıdaki kodu deneyin.

[vb:1:679e51a344]Sub verial()
Set s1 = Sheets("veri1")
Set s2 = Sheets("veri2")
For a = 4 To s1.[b65536].End(3).Row
sat = s2.[c1:c65536].Find(s1.Cells(a, 2)).Row
s1.Cells(a, 4) = s2.Cells(sat, 2)
s1.Cells(a, 5) = s2.Cells(sat, 5)
Next
End Sub[/vb:1:679e51a344]
 
leventm,
KOD İÇİN TEÞEKKÜR EDERİM AMA "VERİ1"sheet i içerisindeki verilerden birine karşılık gelecek bir veri "veri2" sheet i içerisinde yer almadığında hata veriyor bunu engelleyemez miyiz?

yani bulamadığında atlamasını istiyorum, bunu nasıl yaparız
 
Aşağıdaki kodu deneyin.

[vb:1:20093e6de8]Sub verial()
on error resume next
Set s1 = Sheets("veri1")
Set s2 = Sheets("veri2")
For a = 4 To s1.[b65536].End(3).Row
sat = s2.[c1:c65536].Find(s1.Cells(a, 2)).Row
s1.Cells(a, 4) = s2.Cells(sat, 2)
s1.Cells(a, 5) = s2.Cells(sat, 5)
Next
End Sub [/vb:1:20093e6de8]
 
ilk önce kodlar için teşekkür ederim..

fakat hata vermesede istemediğim bir bilgiyi oraya yerleştiriyor..
yani bir üst satırındaki veriyi oraya kopyalaması büyük dosyalarda karışıklık yaratıyor zira o veriye ait olacak karşılık oranın boş kalması.. ama bir üstteki veriyi alıyor.. find fonksiyonundan sonra bir eşleme olmaması yani yerinin boş kalması mümkün olursa daha iyi bir sonuç olacak..

mümkünse yardımcı olursanız sevinirim.. teşekkürler
 
Bulamadığı bilgiyi boş bırakacaktır, örnek dosyanızda deneyin.
 
leventm,

kod için teşekkür ederim ama örnek dosyada denediğim halde malesef bulamadığı bilginin karşısını boş bırakmıyor. karşılığı olmayan verinin bir üzerindeki verinin bilgilerini kopyalıyor.

find fonksiyonu ile değilde birkaç döngüyü bir arada kullanarak bir sonuç elde edemezmiyiz diye düşünüyorum yardımın için şimdiden teşekkürler.
 
Aşağıdaki gibi deneyin.

[vb:1:0fcfde886c]Sub verial2()
Set s1 = Sheets("veri1")
Set s2 = Sheets("veri2")
For a = 4 To s1.[b65536].End(3).Row
For b = 4 To s2.[c65536].End(3).Row
If s1.Cells(a, 2) = s2.Cells(b, 3) Then
s1.Cells(a, 4) = s2.Cells(b, 2)
s1.Cells(a, 5) = s2.Cells(b, 5)
End If
Next: Next
End Sub
[/vb:1:0fcfde886c]
 
leventm,

çok teşekkür ederim.. eline sağlık..
 
Geri
Üst