Farklı sayfalardaki listelerden yeni bir liste oluşturmak

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba arkadaşlar

Ekteki dosyada gördüğünüz gibi elimde 3 ayrı liste var. Benim bu 3 ayrı listeden tarih sırasına göre tek bir liste oluşturmam lazım. Sorun şu ki her listede ortak alanlar farklı yerlerde, nasıl birleştireceğimi çözemedim, sanırım makroluk bir iş, yardımcı olursanız sevinirim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanıza bir kaç veri ekleyip, bu verilerin ana listede nasıl yerleştirleceğini gösterirseniz daha kolay cevap alabileceğinizi düşünüyorum.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba

İstediğiniz gibi dosyayı ekledim. Umarım bir çözüm buluruz.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Kimse yok muuuu????
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Arkadaşlar herkes izine mi çıktı????
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Aşağıdaki kodu deneyin, Yalnız "Liste 3" sayfasında müşteri adını işaretlememişsiniz. Aşağıda kımızıyla işaretli sıfır yerine "Liste 3" sayfasındaki karşılığının sütun numarasını yazın.

Kod:
Option Base 1
Sub SayfalardanAktar()
Set sA = Sheets("Ana Liste")

sat = 2
sA.[a2.IV65536].ClearContents

Sheets("Liste1").Select
liste = Array(1, 6, 5, 4, 3, 13, 0, 80, 12, 57, 81)
GoSub basla

Sheets("Liste 2").Select
liste = Array(1, 15, 9, 5, 22, 18, 0, 51, 21, 40, 49)
GoSub basla

Sheets("Liste 3").Select
liste = Array(1, [COLOR=Red][B]0[/B][/COLOR], 5, 3, 2, 12, 0, 72, 11, 57, 71)  ' liste 3 sayfasında müşteri adı işaretlenmemiş
                                                    ' o yüzden sütun noya sıfır yazdım.
GoSub basla

sA.Select
MsgBox "Aktarım Tamamlandı"
Exit Sub


basla:
For x = 2 To [a65536].End(3).Row
    Aktar = False
    For t = 1 To 11
        If liste(t) <> 0 Then
            sA.Cells(sat, t) = Cells(x, liste(t))
            Aktar = True
        End If
    Next t
        If Aktar Then
            sA.Cells(sat, 7) = Format(CDate(sA.Cells(sat, 5) + 14), "dd.mm.yyyy")
            sat = sat + 1
        End If
Next x

Return
End Sub
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Say&#305;n Veysel Emre

Yard&#305;mlar&#305;n&#305;z i&#231;in &#231;ok te&#351;ekk&#252;r ederim, kod &#231;ok i&#351;ime yarad&#305;. Yaln&#305;z benim bir sorum olacak. Size g&#246;nderdi&#287;im dosyada liste kay&#305;tlar&#305; 2. sat&#305;rdan ba&#351;l&#305;yordu, elimdeki dosyada 57.sat&#305;rdan ba&#351;l&#305;yor, ne gibi de&#287;i&#351;iklikler yapmam laz&#305;m??
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Hangi sayfadaki kay&#305;tlar 57 den ba&#351;l&#305;yor, ana sayfam&#305;, yoksa liste sayfalar&#305;m&#305;?
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba Veysel Emre

Gerçekteki dosya formatımı ekledim.Bütün alanları görebilirsiniz. Bu dosyayı koymamamın nedeni makro yazmayı inceleyerek öğrenmek, hazıra konmamaktı. Ama ne yaptıysam beceremedim. Liste sayfalarının hepsinde (Liste1,Liste2 ve Liste3) veriler 57.satırdan başlıyor.Ayrıca benim elimdeki ana liste sayfasında 229.satıra kadar veri var. Sizden aldığım makroyu uyguladığımda önceki verileri kaybediyorum. Makroda düzenleme yaptığımda ise (yine yanlış yerlerde düzenliyorum sanırım)
sA.Cells(sat, 7) = Format(CDate(sA.Cells(sat, 5) + 14), "dd.mm.yyyy")
satırında "Type Mismatch" hatasıyla karşılaşıyorum.Hoşgörünüze sığınarak bana düzenlemeleri nasıl yaptığınızı açıklamanızı rica ediyorum. Bu şekilde ancak bende sizler gibi olabileceğim. Şimdiden ilginize teşekkürler ediyorum.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
G&#246;ndermi&#351; oldu&#287;unuz dosyan&#305;n &#246;nceki dosyayla alakas&#305; yok,

1. Set sA = Sheets("Ana Liste")
sat&#305;r&#305;nda aktar&#305;lacak sayfan&#305;n ismini de&#287;i&#351;tirin.

2. Yazmaya 230. sat&#305;rdan ba&#351;lamas&#305; i&#231;in, a&#351;a&#287;&#305;daki d&#252;zenlemeyi yap&#305;n.
sat=230

3. Veri al&#305;nacak sat&#305;rlar&#305;n ba&#351;lang&#305;c&#305; i&#231;in, a&#351;a&#287;&#305;daki d&#252;zenlemeyi yap&#305;n.
For x = 57 To [a65536].End(3).Row


4. Yeni dosyada aktar&#305;lacak s&#252;tun say&#305;s&#305; fazla, &#246;nceki dosyada 11 idi.
For t = 1 To 11
sat&#305;r&#305;n&#305; ka&#231; s&#252;tun ise 15 herhalde (bo&#351; s&#252;tun dahil)
For t = 1 To 15 yap&#305;n.

5.

Sheets("Liste1").Select
liste = Array(1, 6, 5, 4, 3, 13, 0, 80, 12, 57, 81)

sat&#305;rlar&#305;nda "Liste1" sayfas&#305;ndan s&#305;ras&#305;yla "Ana Liste" liste sayfas&#305;na aktar&#305;lacak s&#252;tun numaralar&#305;n&#305; d&#252;zenleyin. (15 s&#252;tun ise 15 rakam olacak, 0 yazd&#305;&#287;&#305;n&#305;z sat&#305;r&#305; aktarmaz.)

Di&#287;er liste sayfalar&#305;n&#305; da bu &#351;ekilde d&#252;zenleyin.

6. Sayfadaki verileri silmemesi i&#231;in a&#351;a&#287;&#305;daki sat&#305;r&#305; kald&#305;r&#305;n.
sA.[a2.IV65536].ClearContents

7. sA.Cells(sat, 7) = Format(CDate(sA.Cells(sat, 5) + 14), "dd.mm.yyyy")
sat&#305;r&#305; aktar&#305;lan sayfadaki 5.s&#252;tuna 14 g&#252;n ekleyerek 7.s&#252;tuna yaz&#305;yordu. Sizin yeni d&#252;zeninize g&#246;re 5 ve 7 rakamlar&#305;n&#305; de&#287;i&#351;tirin.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
&#304;lginize &#231;ok te&#351;ekk&#252;r ederim. Umar&#305;m sizi s&#305;kmam&#305;&#351;&#305;md&#305;r...
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Rica ederim, kolay gelsin.
 
Üst