Soru Excel sayfasından (kitapçık) verileri süzerek diğer sayfalara aktarma.

Katılım
14 Nisan 2009
Mesajlar
47
Excel Vers. ve Dili
Microsoft Office Pro Plus 2019 - TR
Merhaba,

Dosya; POSTA_LISTESİ ve Sayfa1, Sayfa2, Sayfa3,...... Sayfa n lerden oluşmaktadır.

POSTA_LISTESİ sayfası; veri kaynağım olup, "X" adet veri satırından oluşmakta,

Sayfa n ler ise verilerin aktarılacağı sayfalar olup, her birinde farklı sayılarda satırdan oluşan veriler mevcuttur.

Burada; Sayfa n lerde yer alan TC KİMLİK NOLARI ile POSTA_LISTESİ'nde yer alan TC KİMLIK NOLARI eşleştirilerek; POSTA_LISTESİ'nde "P8" sütunundan başlayan BARKOD verilerinin, Sayfa n lerde yer alan BARKOD sütunana, "AF21" den itibaren aktarılmasını istiyorum

Teşekkürler.
 
Katılım
14 Nisan 2009
Mesajlar
47
Excel Vers. ve Dili
Microsoft Office Pro Plus 2019 - TR
Soruyu tam ifade edemedimmi acaba, benim için önemli ve acil bir konuydu aslında.
Çözüm önerisi olan uzman arkadaşlara tekrar rica ediyorum.
Teşekkürler....

ÖRNEK_DOSYA.xls - 136 KB
 
Son düzenleme:
Katılım
8 Ekim 2009
Mesajlar
642
Excel Vers. ve Dili
Office 2010 & 2016 TR
Altın Üyelik Bitiş Tarihi
26-12-2023
Merhaba,
Örnek bir dosya eklerseniz kolayca çözüme ulaşabilirsiniz.
Örnek dosyanızı www.dosya.co adresine yükleyip linkini buradan paylaşınız.
 
Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Bir deneyiniz.
Kod:
Sub bulyaz()
Dim s1 As Worksheet, yaz As Range: Dim i As Integer
    Set s1 = Sheets("POSTA_LISTESI")
    son = s1.Cells(65355, "A").End(3).Row
For i = 1 To Worksheets.Count
sadı = Worksheets(i).Name
If sadı = "POSTA_LISTESI" Then GoTo 10
bak = Sheets(i).Cells(65355, "T").End(3).Row
For Z = 21 To bak
    Set yaz = s1.Range("G8:G" & son).Find(Sheets(i).Range("T" & Z), , , xlWhole)
    If Not yaz Is Nothing Then
      Sheets(i).Range("AF" & Z) = yaz.Offset(0, 9)
        End If
        Next Z
10:
Next i
MsgBox "İŞLEM TAMAM", vbInformation
End Sub
 
Katılım
14 Nisan 2009
Mesajlar
47
Excel Vers. ve Dili
Microsoft Office Pro Plus 2019 - TR
Bir deneyiniz.
Kod:
Sub bulyaz()
Dim s1 As Worksheet, yaz As Range: Dim i As Integer
    Set s1 = Sheets("POSTA_LISTESI")
    son = s1.Cells(65355, "A").End(3).Row
For i = 1 To Worksheets.Count
sadı = Worksheets(i).Name
If sadı = "POSTA_LISTESI" Then GoTo 10
bak = Sheets(i).Cells(65355, "T").End(3).Row
For Z = 21 To bak
    Set yaz = s1.Range("G8:G" & son).Find(Sheets(i).Range("T" & Z), , , xlWhole)
    If Not yaz Is Nothing Then
      Sheets(i).Range("AF" & Z) = yaz.Offset(0, 9)
        End If
        Next Z
10:
Next i
MsgBox "İŞLEM TAMAM", vbInformation
End Sub
Elinize sağlık.
Çalışma dosyam yanımda olmadığı için gerçek veriler ile deneyemedim.Rastgele bir veri dosyası oluşturup deneme yaptım ve istediğim sonucu veriyor.
Çok teşekkür ediyorum.
 
Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Elinize sağlık.
Çalışma dosyam yanımda olmadığı için gerçek veriler ile deneyemedim.Rastgele bir veri dosyası oluşturup deneme yaptım ve istediğim sonucu veriyor.
Çok teşekkür ediyorum.
Dosyadan anlayabildiğim kadar yapmaya çalışdım.Dönüş yaptığınız için teşekkür ederim.Kolay gelsin.
 
Katılım
14 Nisan 2009
Mesajlar
47
Excel Vers. ve Dili
Microsoft Office Pro Plus 2019 - TR
Dosyadan anlayabildiğim kadar yapmaya çalışdım.Dönüş yaptığınız için teşekkür ederim.Kolay gelsin.
Merhaba,
Gerçek veri dosyası ile test ettim ve sonuç çok güzel.
Yalnız, POSTA_LISTESİ'nde "P8" sütunundan başlayan BARKOD verilerinin "W8" de olması durumu için nasıl bir düzenleme yapılması gerekiyor.(
Teşekkürler.
 
Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Aşağıdaki şekilde düzenleme yapmanız gerekir.
Sheets(i).Range("AF" & Z) = yaz.Offset(0, 9)
Kod:
 Sheets(i).Range("AF" & Z) = yaz.Offset(0, 15)
 
Üst