• DİKKAT

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

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

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

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,201
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

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
 
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!
 
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
 
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.
 
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
 
Çok teşekkür ederim Korhan hocam
elinize sağlık...
 
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
 
Geri
Üst