• DİKKAT

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

#YOK hatası yerine

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,181
Excel Vers. ve Dili
Ofis 2019 Türkçe
Ekli dosyada aşağıdaki formül ile F sütunundaki değeri Teknisyenler sayfasında aratıp b sütunundaki değeri getiriyorum, ancak bulamadığında #YOK hatası yerine Sayfa3 deki F sütunundaki değeri yazmasını istersem, formülde nasıl bir değişiklik yapmalıyım,

=EĞER(F10="";"";DÜŞEYARA("*"&$F10&"*";Teknisyen!$B:$E;SÜTUN(A10);0))

Ayrıca;
formül yerine vb ile nasıl bir kod ile aynı işlemi yaptırabilirim.

Yardımcı olacak arkadaşlarıma teşekkürler.
 

Ekli dosyalar

Kod:
=EĞERHATA(EĞER(F10="";"";DÜŞEYARA("*"&$F10&"*";Teknisyen!$B :$E;SÜTUN(A10);0));Sayfa3!F10)

Şeklinde deneyin.
 
Sn.YUSUF44 çok hızlısın, tam istediğim gibi oldu çok teşekkür ederim. Kod ile de yapabilecek uzman arkadaşlarım yardımcı olurlar. Sağolasın.
 
Merhaba.

►Formül seçeneği (aşağıdaki Worksheet_Activate kod'undaki formül)
.
Kod:
=[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EĞERSAY[/COLOR](Teknisyen!$B:$B;"*"&F2&"*")=0;F2;[COLOR="red"]KAYDIR[/COLOR](Teknisyen!$B$1;[COLOR="Red"]KAÇINCI[/COLOR]("*"&F2&"*";Teknisyen!$B:$B;0)-1;0))
►Makro seçeneği: aşağıdakilerden birini kullanabilirsiniz.
(Biri sizin Worksheet_Activate kodundaki formülde değişiklik yapılmış hali, diğeri bir düğmeye atayabileceğiniz formülsüz makro)
.
Kod:
[B][COLOR="red"]Private Sub Worksheet_Activate()[/COLOR][/B]
    With Range("H2:H" & Cells(Rows.Count, "F").End(3).Row)
        .NumberFormat = "General"
        .Formula = "=IF(COUNTIF(Teknisyen!$B:$B,""*""&F2&""*"")=0,F2,OFFSET(Teknisyen!$B$1,MATCH(""*""&F2&""*"",Teknisyen!$B:$B,0)-1,0))"
        .NumberFormat = "@"
        .Value = .Value
    End With
[B][COLOR="Red"]End Sub[/COLOR][/B]

[B][COLOR="blue"]Sub ARA_BUL()[/COLOR][/B]
Set t = Sheets("Teknisyen"): Set s3 = Sheets("Sayfa3")
Set wf = Application.WorksheetFunction
sonT = Sheets("Teknisyen").Cells(Rows.Count, "A").End(xlUp).Row

s3.Range("H2:H" & s3.Cells(Rows.Count, "F").End(3).Row).NumberFormat = "@"
For sat = 2 To s3.Cells(Rows.Count, "F").End(3).Row
    If wf.CountIf(t.Range("B1:B" & sonT), "*" & s3.Cells(sat, "F") & "*") = 0 Then
        s3.Cells(sat, "H") = s3.Cells(sat, "F") & ""
    Else
        s3.Cells(sat, "H") = t.Cells(wf.Match("*" & s3.Cells(sat, "F") & "*", t.Range("B1:B" & sonT), 0), "B")
    End If
Next
[B][COLOR="Blue"]End Sub[/COLOR][/B]
 
Ömer hocam çok teşekkür ederim, istediğim gibi çalışıyor. Elinize sağlık.
 
Geri
Üst