3 bilgiye göre Satır numarasını bulma

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Ekli dosyada 3 bilgiyi "Model", "Renk", "Beden" girdiğim zaman; bu 3 bilginin de ortak olduğu satır numarasını alabileceğim bir kod yazmaya çalışıyorum.

yardımcı olursanız sevinirim.


Kod:
Sub xlKod()
Dim Model As String, Renk As String, Beden As String
Dim Sonuc As String

Model = Cells(3, 2)
Renk = Cells(3, 3)
Beden = Cells(3, 4)

Sonuc = xlSatirBul(Model, Renk, Beden)

MsgBox Sonuc

End Sub
Kod:
Private Function xlSatirBul(Model As String, Renk As String, Beden As String)
Dim Satir As Long
Satir = 3
xlSatirBul = Satir 
End Function
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Eski kodlarda ne yapmak istediğinizi anlamadım. Eski kodları silip aşağıdaki gibi deneyin. İstediğiniz bu sanırım.
Kod:
Sub xlKod()

    Dim Model As String, Renk As String, Beden As String, Sonuc As String
    Dim c As Range, Adr As String
 
    Model = Cells(3, 2)
    Renk = Cells(3, 3)
    Beden = Cells(3, 4)

    Set c = [B:B].Find(Model, , xlValues, xlWhole)
    If Not c Is Nothing Then
        Adr = c.Address
        Do
            If Cells(c.Row, "C") = Renk And Cells(c.Row, "D") = Beden Then
                Sonuc = Sonuc & Chr(10) & c.Row
            End If
            Set c = [B:B].FindNext(c)
        Loop While Not c Is Nothing And c.Address <> Adr
    End If
 
    If Sonuc <> "" Then
        MsgBox "Aşağıdaki Satırlar Eşleşti:" & Chr(10) & Sonuc
    End If

End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,

Eski kodlarda ne yapmak istediğinizi anlamadım. Eski kodları silip aşağıdaki gibi deneyin. İstediğiniz bu sanırım.
Kod:
Sub xlKod()

    Dim Model As String, Renk As String, Beden As String, Sonuc As String
    Dim c As Range, Adr As String

    Model = Cells(3, 2)
    Renk = Cells(3, 3)
    Beden = Cells(3, 4)

    Set c = [B:B].Find(Model, , xlValues, xlWhole)
    If Not c Is Nothing Then
        Adr = c.Address
        Do
            If Cells(c.Row, "C") = Renk And Cells(c.Row, "D") = Beden Then
                Sonuc = Sonuc & Chr(10) & c.Row
            End If
            Set c = [B:B].FindNext(c)
        Loop While Not c Is Nothing And c.Address <> Adr
    End If

    If Sonuc <> "" Then
        MsgBox "Aşağıdaki Satırlar Eşleşti:" & Chr(10) & Sonuc
    End If

End Sub
Ömer Hocam çok teşekkürler,
emeğinize sağlık!
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

C++:
Sub Satir_No()
    Dim Alan As String, Model As String, Renk As String
    Dim Beden As String, Aranan As String, Sonuc As String

    Alan = "B1:B10&C1:C10&D1:D10"

    Model = Cells(3, 2)
    Renk = Cells(3, 3)
    Beden = Cells(3, 4)
    Aranan = Model & Renk & Beden

    Formul = "=MATCH(""" & Aranan & """," & Alan & ",0)"

    Sonuc = Evaluate(Formul)
    
    MsgBox Sonuc
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Alternatif;

C++:
Sub Satir_No()
    Dim Alan As String, Model As String, Renk As String
    Dim Beden As String, Aranan As String, Sonuc As String

    Alan = "B1:B10&C1:C10&D1:D10"

    Model = Cells(3, 2)
    Renk = Cells(3, 3)
    Beden = Cells(3, 4)
    Aranan = Model & Renk & Beden

    Formul = "=MATCH(""" & Aranan & """," & Alan & ",0)"

    Sonuc = Evaluate(Formul)
   
    MsgBox Sonuc
End Sub
Sn Korhan Hocam ilginize teşekkürler,

Burada Sayfa adını da belirtmek istersek nasıl bir yol takip etmeliyiz. Çünkü aradığımız tablo diğer sayfada olabiliyor

Kod:
Dim ws As Worksheet
Dim Rng1 As Range, Rng2 As Range, Rng3 As Range
Set ws = Sheets("Sayfa1")

Set Rng1 = ws.Range("B1:B10")
Set Rng2 = ws.Range("C1:C10")
Set Rng3 = ws.Range("D1:D10")
...................
.................................
ile birlikte kullanmak istersek nasıl bir düzenleme yapmamız gerekir?


iyi Çalışmalar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Sub Satir_No()
    Dim Alan As String, Sh As Worksheet
    Dim Model As String, Renk As String
    Dim Beden As String, Aranan As String, Sonuc As String

    Set Sh = Sheets("Sayfa1")

    Alan = "'" & Sh.Name & "'!B1:B10&" & "'" & Sh.Name & "'!C1:C10&" & "'" & Sh.Name & "'!D1:D10"

    Model = Sh.Cells(3, 2)
    Renk = Sh.Cells(3, 3)
    Beden = Sh.Cells(3, 4)
    Aranan = Model & Renk & Beden

    Formul = "=MATCH(""" & Aranan & """," & Alan & ",0)"

    Sonuc = Evaluate(Formul)
    
    MsgBox Sonuc
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Çok teşekkür ederim Korhan hocam
elinize sağlık...
 

ibrahimpeng

Altın Üye
Katılım
23 Nisan 2020
Mesajlar
40
Excel Vers. ve Dili
2003-2007 dili Türkçe
Altın Üyelik Bitiş Tarihi
27-04-2035
Sayın tamer42 : J2=eğer(ve(K2="MODEL";L2="RENK";M2="BEDEN");"UCUDE ORTAK";"UCUDE ORTAK DEGIL")
SATIRSAY(ALAN) NOT: ALAN YUKARIDAN ASAGIYA OLMALI
Saygılarımla ibrahimpeng
 
Üst