• DİKKAT

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

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
 
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.
 
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
 
İkinci sayfada ne yapınca ne olmasını istiyorsunuz?
 
Ö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.
 
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.
 
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.
 
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
 
Çözümü gösteren örnek eklemeniz gerekli.
 
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
 
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.
 
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.
 
çalışır dosyayı paylaşabilirmisiniz ?

dediklerinizi harfiyen yaptım fakat. Sheet1 den a5 e veri girdiğimde sayfa1 e veri gelmiyor.
 
Son düzenleme:
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.
 
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 ?
 
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.
 
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ü.
 
Geri
Üst