• DİKKAT

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

Makro İle Yakınlık Bulma , Yakın olan Metin Veya Sayı Bulma

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selam,

Aradığım bir sayı değerinin mevcut aralıktaki alttan ve üstten en yakın değerini bulmak istiyorum. Nasıl Yapabilirim?
Yardımcı olabilirseniz çok sevinirim.

Örnek dosyam 3.mesajdadır.

İyi çalışmalar.
 
Son düzenleme:
Sayın Egün Güler,

EK'teki dosyayı inceleyiniz. Veriler Sayfa2'ye alınıp, değerler bulunup, tekrar silinmektedir. Sayfa2'de veriniz varsa dikkat ediniz.
 

Ekli dosyalar

Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim Bul_En_Yakın_Alt As Range, Bul_En_Yakın_Üst As Range
    
    If TextBox5 <> "" Then
        TextBox3 = Evaluate("=MAX(IF(C2:C65536<" & TextBox5 & ",C2:C65536))")
        If TextBox3 = 0 Then TextBox3 = ""
        If TextBox3 <> "" Then
            Set Bul_En_Yakın_Alt = Range("C:C").Find(TextBox3, LookAt:=xlWhole)
            If Not Bul_En_Yakın_Alt Is Nothing Then TextBox1 = Bul_En_Yakın_Alt.Row
        Else
            TextBox1 = ""
        End If
        
        TextBox4 = Evaluate("=MIN(IF(C2:C65536>" & TextBox5 & ",C2:C65536))")
        If TextBox4 = 0 Then TextBox4 = ""
        If TextBox4 <> "" Then
            Set Bul_En_Yakın_Üst = Range("C:C").Find(TextBox4, LookAt:=xlWhole)
            If Not Bul_En_Yakın_Üst Is Nothing Then TextBox2 = Bul_En_Yakın_Üst.Row
        Else
            TextBox2 = ""
        End If
    Else
        TextBox1 = "": TextBox2 = "": TextBox3 = "": TextBox4 = ""
    End If
    
    Set Bul_En_Yakın_Alt = Nothing
    Set Bul_En_Yakın_Üst = Nothing
End Sub
 
Selam,

Sayın Şaban Sertkaya ve Sayın Korhan Ayhan Hocam,

Çözümlerinizin ikisi de tam sorumun cevabı. Ellerinize sağlık çok teşekkür ederim. Ancak, sizin verdiğiniz örnek çözümler ile denemeler yapıyorum. Örnek dosyamı yeniden düzenledim.Ektedir. 3 kriterli yakınlık bulmak istiyorum.
1.kriter olarak "yaprak" sayısına baksın. (eşit veya en yakın.)
2.kriter olarak ebatın ilk 3 sayısı, sonra son 3 sayısı (eşit veya en yakın.)
3.kriter olarak "gsm" (eşit veya en yakın.)
Ancak, aranan çeşit listede olsa bile, alttan ve üstten bulunan en yakını farklı olsun.

bir örnek textboxlara yazdım. bir örnek daha vereyim.
aranan: 240x340-6-103 olsun

alttan yakınlık:210x297-6-56
üstten yakınlık:250x350-8-50
bulsun.

alternatif fikirler de olabilir. mesela aranan çeşide yakınlık derecesi versek nasıl olur?
mesela 240x340-6-103 için
ebat için +20 -20 tolerans
sayfa için +2-2 tolerans
gsm için +10-10 tolerans verip,
örneğin alltan yakınlık için;
ebatı (220 ila 240 arası)x(320 ila 340 arası)
yaprağı 4 ila 6 arası
gsm'i 93 ila 103 arası
koşullarına uyanların en yakınları bulsak nasıl olur?
 

Ekli dosyalar

Selam,
En yakını bulmak konusundan yardımcı olabilecek kimse var mı?
İyi çalışmalar.
 
Geri
Üst