Asgari Geçim

1 2 3
27/06/2021, 13:59

feraz

Kodu alttaki gibi deneyin abey.

Sub getir()
    Dim son As Long, i As Long, ind As String, kac As Long
    agitutarý.Value = ""
    If cocuk = Empty Or medenihal = Empty Then Exit Sub
    With sh
        kac = WorksheetFunction.Match(medenihal, .Range("C:C"), 0)
        ind = WorksheetFunction.Index(.Range("C:C"), kac)
        son = .Cells(Rows.Count, "C").End(3).Row
       
        If son < 2 Then Exit Sub
        For i = kac To son
            If medenihal = WorksheetFunction.Index(.Range("C:C"), i) And Val(cocuk) = .Cells(i, 4).Value Then
                agitutarý.Value = .Cells(i, 5).Value
                Exit For
            End If
        Next
    End With
End Sub
27/06/2021, 14:07

feraz

Kodda fazlalık olmuş abey.

Sub getir()
    Dim son As Long, i As Long, kac As Long
    agitutarý.Value = ""
    If cocuk.Value = Empty Or medenihal.Value = Empty Then Exit Sub
    With sh
        On Error GoTo son
        kac = WorksheetFunction.Match(medenihal, .Range("C:C"), 0)
        son = .Cells(Rows.Count, "C").End(3).Row
       
        If son < 2 Then Exit Sub
        For i = kac To son
            If medenihal.Value = WorksheetFunction.Index(.Range("C:C"), i) And Val(cocuk.Value) = .Cells(i, 4).Value Then
                agitutarý.Value = .Cells(i, 5).Value
                Exit For
            End If
        Next
    End With
son:
End Sub
27/06/2021, 14:26

malatyalı

Aboo vallahi gözüm korktu.
Ben ustama dedim ki kısa olsun. Ustam döktürmüş.
Ellerine kollarına sağlık.
27/06/2021, 14:50

feraz

Kısa olmuyor işte abey Aslında koddaki son= ve if son gibi yerler silinebilr lakin garanti olsun diye eklendi.
27/06/2021, 14:53

malatyalı

Ustam kodda sıkıntı yok. Sıkıntı bende. Bende de o kodu uygulayacak kadar bilgi yok.

Eğer kısa olsaydı formda diğer uygulamalarda da kendi kendime uygulardım.
27/06/2021, 14:54

feraz

Mesela sadece kere bekar yada 1 kere eş çalışyor vb... olsydı döngüyede gerek yoktu ve daha kısa olurdu
1 2 3