Tablodan veri çekmek

Katılım
22 Aralık 2022
Mesajlar
6
Excel Vers. ve Dili
Office 365
Merhabalar bu ilk mesajım. Hepinize kolaylıklar dilerim.
Uzman arkadaşlar yardım edebilirse çok sevinirim.
Exel'de 2 farklı sayfamız mevcut. Birisi okuldaki bütün öğrencilerin sınıf, ad, soyad gibi bilgilerinin kayıtlı olduğu sayfadır. Diğeri ise seçilen sınıfa göre öğrenci bilgilerinin tabloya eklenmesini istediğimiz sayfadır. Örneğin 5A sınıfı listeden seçildiğinde o sınıfa ait öğrenci bilgileri tabloya diğer sayfadan çekilecektir. Çok deneme yaptım lakin olmadı.

Resimler ve exel dosyası: https://drive.google.com/drive/folders/1NeY5UrCCWXjdYTKt09GYY8KkJyyldKG1?usp=share_link
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Aşağıdaki kodu Tekli isimli sayfanın kod bölümüne yapıştırarak dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D2]) Is Nothing Then Exit Sub
Set S1 = Sheets("Tekli")
Set S2 = Sheets("Toplu Liste")

ss2 = S2.Cells(Rows.Count, "A").End(3).Row
S1.Range("C8:E32") = ""
S2.Range("G:G") = ""
sat = 8
    For j = 2 To ss2
        If S1.Range("D2") = S2.Cells(j, 2) Then
            If Sat = 8 Then S2.Cells(1, 6) = j
            S1.Cells(sat, 3) = S2.Cells(j, 3)
            S1.Cells(sat, 4) = S2.Cells(j, 4)
            S1.Cells(sat, 5) = S2.Cells(j, 5)
            sat = sat + 1
        End If
    Next j
    MsgBox "İşlem Tamamlandı", vbInformation, "BİLGİ"
End Sub
 
Son düzenleme:
Katılım
22 Aralık 2022
Mesajlar
6
Excel Vers. ve Dili
Office 365
Aşağıdaki kodu Tekli isimli sayfanın kod bölümüne yapıştırarak dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D2]) Is Nothing Then Exit Sub
Set S1 = Sheets("Tekli")
Set S2 = Sheets("Toplu Liste")

ss2 = S2.Cells(Rows.Count, "A").End(3).Row
S1.Range("C8:E32") = ""
sat = 8
    For j = 2 To ss2
        If S1.Range("D2") = S2.Cells(j, 2) Then
            S1.Cells(sat, 3) = S2.Cells(j, 3)
            S1.Cells(sat, 4) = S2.Cells(j, 4)
            S1.Cells(sat, 5) = S2.Cells(j, 5)
            sat = sat + 1
        End If
    Next j
    MsgBox "İşlem Tamamlandı", vbInformation, "BİLGİ"
End Sub
Evet çalışıyor çok teşekkür ederim, lakin kod yazmadan indis,satır,satırsay gibi yerleşik formüllerle yapabilir miyiz?
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Evet çalışıyor çok teşekkür ederim, lakin kod yazmadan indis,satır,satırsay gibi yerleşik formüllerle yapabilir miyiz?
Yapılabilir. Ancak benim formüllerle aram iyi değil. :) Üstatlar çözüm önerirler sanırım.
 
Katılım
22 Aralık 2022
Mesajlar
6
Excel Vers. ve Dili
Office 365
Mesela 'Toplu Liste'!G2 hücresinden veri çekiyorum. Ben şunu yapabilir miyim 'Toplu Liste'!G2 buradaki G2 deki satır numarasını manuel belirleyebilir miyim. Yani şöyle: 'Toplu Liste'!G? soru işaretli kısmı değişken olarak belirleyebilir miyim. G130'dan veri çekmeye başlayarak ilerlesin mesela. Böyle bir özellik varsa sorunum çözülecek.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Yani şöyle: 'Toplu Liste'!G? soru işaretli kısmı değişken olarak belirleyebilir miyim. G130'dan veri çekmeye başlayarak ilerlesin mesela. Böyle bir özellik varsa sorunum çözülecek.
Bunu anlayamadım. Çektiği veriyi nereye yazacak? G130 dan nereye kadar gidilecek veya her defasında seçtiğiniz tek hücreden mi veri alınacak? #1 mesajdaki gibi örnek dosya ile destekleyebilir veya daha açık yazarsanız çözüm bulunur.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
#2 no lu mesajdaki kodu yeniden düzenledim.
DİKKAT: Toplu liste F ve G sütunundaki formüllerinizi silerek örnek dosya üzerinde dener misiniz?
 
Son düzenleme:

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Olumlu ya da olumsuz dönüş yapan yok.
Acaba yanlış bir şey mi yazdık?
 
Üst