LİSTEDEN VERİ ALARAK LİSTE AYIKLAMA

Katılım
28 Haziran 2013
Mesajlar
144
Excel Vers. ve Dili
Excel 2016/TÜRKÇE
Değerli hocalarım ek dosyadaki veri tablosundan bir liste oluşturmak istiyorum. Topla Çarpım ve düşeyara ile aynı isimlerden farklı veriler olduğu için yapamadım.Acaba indis ile falan mı yapılması gerekiyor? Yardımcı olabilirseniz minnettar olurum. Saygılarımla,

 

hasankardas

Altın Üye
Katılım
14 Ağustos 2006
Mesajlar
374
Excel Vers. ve Dili
Ofis 2021ProPlus TR 64 Bit
Altın Üyelik Bitiş Tarihi
18-01-2027
Kod:
Sub ProgramAdiAraVeGetir()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim i As Integer
    Dim j As Integer
    Dim matchRow As Variant
    Dim lastRow As Long
   
    Set ws1 = ThisWorkbook.Sheets("SINAV YAPILACAKLAR")
    Set ws2 = ThisWorkbook.Sheets("E-LEARNING")
   
    ' Temizleme işlemi
    ws1.Range("B2:E1000").ClearContents
   
    j = 2
    For i = 2 To 8
        lastRow = ws2.Cells(ws2.Rows.Count, "F").End(xlUp).Row
        ' Her bir Program Adı için tüm satırları kontrol et
        For k = 1 To lastRow
            If ws2.Cells(k, "F").Value = ws1.Cells(i, "P").Value Then
                ws1.Cells(j, "B").Value = ws2.Cells(k, "A").Value  
                ws1.Cells(j, "C").Value = ws2.Cells(k, "C").Value  
                ws1.Cells(j, "D").Value = ws2.Cells(k, "D").Value  
                ws1.Cells(j, "E").Value = ws2.Cells(k, "F").Value  
                j = j + 1
            End If
        Next k
    Next i
End Sub
dener misiniz. sayfa isminiz de boşluk var onu kaldırığ öyle deneyin
 
Katılım
28 Haziran 2013
Mesajlar
144
Excel Vers. ve Dili
Excel 2016/TÜRKÇE
Kod:
Sub ProgramAdiAraVeGetir()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim i As Integer
    Dim j As Integer
    Dim matchRow As Variant
    Dim lastRow As Long
  
    Set ws1 = ThisWorkbook.Sheets("SINAV YAPILACAKLAR")
    Set ws2 = ThisWorkbook.Sheets("E-LEARNING")
  
    ' Temizleme işlemi
    ws1.Range("B2:E1000").ClearContents
  
    j = 2
    For i = 2 To 8
        lastRow = ws2.Cells(ws2.Rows.Count, "F").End(xlUp).Row
        ' Her bir Program Adı için tüm satırları kontrol et
        For k = 1 To lastRow
            If ws2.Cells(k, "F").Value = ws1.Cells(i, "P").Value Then
                ws1.Cells(j, "B").Value = ws2.Cells(k, "A").Value 
                ws1.Cells(j, "C").Value = ws2.Cells(k, "C").Value 
                ws1.Cells(j, "D").Value = ws2.Cells(k, "D").Value 
                ws1.Cells(j, "E").Value = ws2.Cells(k, "F").Value 
                j = j + 1
            End If
        Next k
    Next i
End Sub
dener misiniz. sayfa isminiz de boşluk var onu kaldırığ öyle deneyin
Yardımınız için teşekkür ederim. Maalesef boşluğu kaldırdım ama genede çalışmadı.
 
Katılım
28 Haziran 2013
Mesajlar
144
Excel Vers. ve Dili
Excel 2016/TÜRKÇE
Ben sayfa ismi boşluğunu aradaki boşluk olarak değerlendirip alıyordum. Sonda varmış şimdi fark ettim. Dediğiniz gibi çalıştı. Çok teşekkür ederim...
 
Üst