İki Çalışma Sayfasında eşleşen satırları 3.sayfaya aktarmak

Katılım
24 Aralık 2008
Mesajlar
4
Excel Vers. ve Dili
2003 tr
Benim sorunum şu , aynı çalışma kitabında 2 farklı sayfa var. 1. sayfada 900 kişilik bir liste var ve bu liste 2. sayfada ki 16000 kişilik listeden daha önce taranarak ayrılan isimler. İki sayfada ortak baz alacağım değer kayıtno sütunu. Şimdi yapmam gereken şu, 1. sayfada bulunan kayıtno lardan 2. sayfanın kayıtno lar sütununda eşleşen satırların 3. sayfaya kopyalanması. Şimdiden teşekürler...
 

Ekli dosyalar

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Kod:
Sub aktar()
Dim s1, s2, s3 As Worksheet
Dim sat1, sat2, s As Integer
Set s1 = Sayfa1
Set s2 = Sayfa2
Set s3 = Sayfa3
s3.[a2:g1000].ClearContents
s = 2
Application.ScreenUpdating = False
For sat1 = 2 To s1.Cells(65536, "a").End(xlUp).Row
For sat2 = 2 To s2.Cells(65536, "a").End(xlUp).Row
If s1.Cells(sat1, "a") Like s2.Cells(sat2, "a") Then
s3.Range("a" & s & ":g" & s).Value = s2.Range("a" & sat2 & ":g" & sat2).Value
s = s + 1
End If: Next: Next
Application.ScreenUpdating = True
MsgBox "işlem tamam", vbInformation
End Sub
 

Ekli dosyalar

Katılım
24 Aralık 2008
Mesajlar
4
Excel Vers. ve Dili
2003 tr
Hocam çok teşekkürler, ilginiz ve duyarlılığınız için..
Makroyu çalıştırdım, şu an halen işlem yapmakta. Sanırım çalışma dosyamın büyük olmasından kaynaklanıyor. Fakat örnek dosya üzerinde çalıştığına göre ana dosyadada işe yarayacağını sanıyorum. Elinize emeğinize sağlık. Saygılarımla...
 
Katılım
24 Aralık 2008
Mesajlar
4
Excel Vers. ve Dili
2003 tr
Beni 1 günlük iş yükü ve kafa yorgunluğundan kurtardınız. Sonsuz Teşekkürler.... :D
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Alternatif;
Hız açısından aşağıdaki kodlarıda kendi dosyanızda denermisiniz.
Sonucuda söylerseniz memnun olurum.:cool:
Kod:
Sub karsilastir_aktar()
Dim i As Long, sat As Long, k As Range, s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Sheets("Sayfa3").Select
sat = 2
Range("A2:G65536").ClearContents
Application.ScreenUpdating = False
For i = 1 To s1.Cells(65536, "A").End(xlUp).Row
    Set k = s2.Range("A2:A65536").Find(s1.Cells(i, "A").Value, , xlValues, xlWhole)
    If Not k Is Nothing Then
        Range(Cells(sat, "A"), Cells(sat, "G")).Value = _
        s2.Range(s2.Cells(k.Row, "A"), s2.Cells(k.Row, "G")).Value
        sat = sat + 1
    End If
Next i
Application.ScreenUpdating = True
MsgBox "İşlem Tamamdır..", vbOKOnly + vbInformation, Application.UserName
End Sub
 

Ekli dosyalar

Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
süper bir çalışma elinize sağlık.
 
Üst