tablodan veri çekme

Katılım
9 Haziran 2015
Mesajlar
33
Excel Vers. ve Dili
2013
Ekli dosyayı görüntüle Yeni Microsoft Excel Çalışma Sayfası.xlsx

merhabalar,

ekte ki dosya da 1. sayfa da oluşan data verilerini, 2. sayfa da oluşan tabloya aktarmak istiyorum. benim sıkıntım 3. nolu data verisi aktarırken karşısındaki satır sayısı sütunun altında olduğu için satır sayısı kadar çekemiyorum. bu tablo sadece örnek bu şekilde çekmek istediğim satır sayıları çok değişken bu konuda yardım edebilirmisiniz
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sorunuzu muhtemelen çözemem ancak excelin mantığında birleştirilmiş hücreler kullanılması pek istenilmez. Satırları birleştirmek yerine her satırda verileri tekrar etmelisiniz. Bu durumda formülle olmasa bile makroyla çözüm bulunabilir.
 
Katılım
9 Haziran 2015
Mesajlar
33
Excel Vers. ve Dili
2013
peki bu şekilde çözümünüzü paylaşabilirmisiniz ? sütuna bağlı olan her satırı yaydık diyelim. tabloyu da ona göre getirdik diyelim. 2. tablo da satırlar sütunlar üzerinden geldiği için bir sonraki referans değer başvursunda önceki değeri göreceğinden değer alamıcam. bu konuda yardımınızı rica ederim
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
İkinci sayfada ne yapınca ne olmasını istiyorsunuz?
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Örnek dosyanızı Yusuf bey'in söylediği gibi düzenleyerek ve istediğiniz sonucu'da göreceğimiz şekilde tekrar yükleyebilir misiniz.
 
Katılım
9 Haziran 2015
Mesajlar
33
Excel Vers. ve Dili
2013
Ekli dosyayı görüntüle Yeni Microsoft Excel Çalışma Sayfası.xlsx

1.sayfa da bulunan tüm verileri istediğim kod numarasına göre 2. sayfaya gelmesini istiyorum. Fakat bacak numaralarında bir den fazla sütun olanlar, 2 sayfa da sütunun altında satır olarak gelmesi gerekiyor. benim yapamadığım sütun dan alıp satıra getiriyorum ama bazen sadece tek satırlık bacak numaraları geliyor bazen 10 tane, bundan dolayı referans olarak verdiğimiz sap stok koduna bağlı olduğu için 10 tane bacak numarası 1 nolu sap stok kodunu baz alarak alt satır oluşturacak, bir sonraki referans nosunu girdiğimde ilk girdiğim referansı aldığı için bana referans vermicek. burda takılıyorum.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Emre bey günaydın,

Yardımcı olmak istiyorum ama sorunuzu anlayamadım.
Örnek çözümü'de ayrıntılı olarak belirtirseniz, daha anlaşılır olur.
 
Katılım
9 Haziran 2015
Mesajlar
33
Excel Vers. ve Dili
2013
hocam istediğim mantığıma oturdu fakat bunu terimlerle fazla ifade edemiyorum. benim şu an ilk istediğim olarak sayfa 1 deki verileri sap stok kodunu referans olarak 2. sayfa ya yerleştirebilirmyiz. böyle bi yol olalım
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Çözümü gösteren örnek eklemeniz gerekli.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodları Sayfa1'in kod bölümüne yapıştırıp deneyiniz. Kod Sayfa1'in A5 hücresine veri girildiğinde Sheet1'den verileri getirir:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A5]) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set s1 = Sheets("Sheet1")
kod = Target.Value
eski = WorksheetFunction.Max(Cells(Rows.Count, "A").End(3).Row, 5)
Range("A5:N" & eski).ClearContents
son = WorksheetFunction.Max(s1.Cells(Rows.Count, "A").End(3).Row, 8)
If WorksheetFunction.CountIf(s1.Range("A8:A" & son), kod) = 0 Then
    MsgBox "Girilen kod Sheet1'de bulunmamaktadır!", vbCritical
    Target.Select
    Target = ""
    GoTo 20
End If

For i = 8 To son
    If s1.Cells(i, "A") = kod Then
        adet = WorksheetFunction.Max(s1.Cells(i, Columns.Count).End(xlToLeft).Column, 3) - 3
        If adet < 1 Then
            GoTo 10
        ElseIf adet = 1 Then
            yeni = WorksheetFunction.Max(5, Cells(Rows.Count, "A").End(3).Row + 1)
            Cells(yeni, "A") = kod
            Cells(yeni, "B") = s1.Cells(i, "B")
            Cells(yeni, "D") = s1.Cells(i, "C")
            Cells(yeni, "E") = s1.Cells(i, "D")
        Else
            For j = 4 To adet + 3
                yeni = WorksheetFunction.Max(5, Cells(Rows.Count, "A").End(3).Row + 1)
                Cells(yeni, "A") = kod
                Cells(yeni, "B") = s1.Cells(i, "B")
                Cells(yeni, "D") = s1.Cells(i, "C")
                Cells(yeni, "E") = s1.Cells(i, j)
            Next
        End If
10:
    End If
Next
20:
Application.EnableEvents = True
End Sub
 
Katılım
9 Haziran 2015
Mesajlar
33
Excel Vers. ve Dili
2013
hocam çözüm için teşekkür ederim fakat makro yu dediğiniz gibi yapıştırdığımda çalışmadı. Makro adı istedi. yeniden yazıp kaydettim bir çok şey denedim. ama sürekli makro adı istiyor.bu nasıl çözebiliriz.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu makro düğmeyle çalışan bir makro değil. Sayfa olayına bağlı. Önceki mesajımda da belirttiğim gibi "Kod Sayfa1'in A5 hücresine veri girildiğinde Sheet1'den verileri getirir:". Yani kodun çalışması için Sayfa1'in A5 hücresinde değişiklik yapmalısınız.
 
Katılım
9 Haziran 2015
Mesajlar
33
Excel Vers. ve Dili
2013
çalışır dosyayı paylaşabilirmisiniz ?

dediklerinizi harfiyen yaptım fakat. Sheet1 den a5 e veri girdiğimde sayfa1 e veri gelmiyor.
 
Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Siz yazdıklarımı okumuyorsunuz galiba :)

Kodları Sayfa1'in kod bölümüne yapıştırıp yine Sayfa1'in A5 hücresine veri gireceksiniz. Bu girdiğiniz veriye göre bilgiler Sheet1'den getirilecek.
 
Katılım
9 Haziran 2015
Mesajlar
33
Excel Vers. ve Dili
2013
evet dediğiniz gibi yanlış telafüz edip yanlıi uygulamışım. şimdi oldu. şimdiki eksiğimiz tamam veriler sayfa1 geliyor ama 3 nolu referansa bağlı olan D sütunun alt satıları yani bacak numaralarının devamı satırın alt kısmına gelmiyor. bu konuda yardımcı olabilirmisiniz ?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Olmadı dediğiniz örneği manuel olarak hazırlayıp paylaşır mısınız? Verdiğim kod örneğin 3 farklı bacağı olan satırı 3 satır olarak her satırda ayrı bacak numarasıyla yazıyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Allah aşkına, en başta, sizin kullandığınız birleştirme yönteminin bu iş için uygun olmadığını, onun için her satırda verileri yenilemeniz gerektiğini yazmadık mı? Siz de buna göre dosyayı bacak numaraları aynı satırda olacak şekilde düzenleyip göndermediniz mi?

Şimdi paylaştığımız dosya ise buna göre değil ilk başta paylaştığınız ve uygun olmadığını söylediğimiz şekilde. Elbette bu kodla istediğiniz olmayacak, çünkü ben bu örneğe göre değil bacak numaralarının aynı satırda yan yana olduğu örneğinize göre hazırladım çözümü.
 
Üst