• DİKKAT

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

Listeden İsim Çekme

Katılım
2 Ekim 2015
Mesajlar
74
Excel Vers. ve Dili
2019 TR
Merhabalar ekte bulunan Excel kitabımda Öğrenci Listesi ve Hesap Hareketleri adında 2 adet sayfam var. Command buton yardımı ile Hesap Hareketleri sayfasında bulunan açıklamaların içindeki metnin Öğrenci Listesi sayfasında bulunan öğrenci adı baba adı ve anne adı bilgileri kombinasyonu ile karşılaştırılıp (bazen açıklamada sadece anne yada baba adı bulunabiliyor) Hesap Hareketleri sayfasında öğrenci isminin yazdırılması konusunda yardımlarınızı rica ediyorum.

Dosya linki : BANKA LİSTESİ
 
Merhaba,
Aşağıdaki kodları bir modüle kopyalayıp dener misiniz?

Kod:
Sub AraBul()

Dim c   As Range
Dim i   As Integer
Dim b   As Boolean
For i = 2 To Sayfa1.Cells(Rows.Count, "A").End(3).Row

    b = False
    Set c = Sayfa2.Range("B:B").Find(Sayfa1.Cells(i, "B"), LookIn:=xlValues, LookAt:=xlPart)
    If Not c Is Nothing Then
        Sayfa2.Cells(c.Row, "E") = Sayfa1.Cells(i, "B")
        b = True
    End If
    
    If b = False Then
        Set c = Sayfa2.Range("B:B").Find(Sayfa1.Cells(i, "C"), LookIn:=xlValues, LookAt:=xlPart)
        If Not c Is Nothing Then
            Sayfa2.Cells(c.Row, "E") = Sayfa1.Cells(i, "B")
            b = True
        End If
    End If
    
    If b = False Then
        Set c = Sayfa2.Range("B:B").Find(Sayfa1.Cells(i, "D"), LookIn:=xlValues, LookAt:=xlPart)
        If Not c Is Nothing Then
            Sayfa2.Cells(c.Row, "E") = Sayfa1.Cells(i, "B")
        End If
    End If
    
Next i

MsgBox "Bitti...."

End Sub
 
Alternatif;

C#:
Sub Test()
    Set s1 = Sheets("ÖĞRENCİ LİSTESİ")
    Set s2 = Sheets("HESAP HAREKETLERİ")
   
    NoS1 = s1.Range("A" & Rows.Count).End(xlUp).Row
    NoS2 = s2.Range("A" & Rows.Count).End(xlUp).Row
    s2.Range("E" & NoS2) = ""
   
    For i = 2 To NoS1
        For j = 2 To NoS2
            If StrConv(s2.Range("B" & j), vbUpperCase, 1033) Like "*" & StrConv(s1.Range("B" & i), vbUpperCase, 1033) & "*" Or _
               StrConv(s2.Range("B" & j), vbUpperCase, 1033) Like "*" & StrConv(s1.Range("C" & i), vbUpperCase, 1033) & "*" Or _
               StrConv(s2.Range("B" & j), vbUpperCase, 1033) Like "*" & StrConv(s1.Range("D" & i), vbUpperCase, 1033) & "*" Then
               s2.Range("E" & j) = s1.Range("B" & i)
            End If
        Next
    Next
End Sub

.
 
Sayın Necdet ve Haluk hocalarım her ikinizin de eline emeğine sağlık 2 formül de isteğimi sorunsuz şekilde yerine getirmekte izinde olduğum için yazmış olduğunuz çözümlere hemen dönüş yapamadım bu yüzden de ayrıca sizlerin affına sığınıyorum
 
Geri
Üst