• DİKKAT

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

hata durumunda başka işlem yaptırma

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
aşağıdaki kod ile düşeyara yapıyorum Range("I1") = WorksheetFunction.VLookup(Range("C1"), s1.Range("C:X"), 3, 0) hata verdiğinde I1 hücresine kayıtlı değil nasıl yazabilirim. kodun bu kısmını çözemedim

Kod:
    If Intersect(Target, [C1]) Is Nothing Then Exit Sub
    On Error GoTo hata
    Range("I1") = WorksheetFunction.VLookup(Range("C1"), s1.Range("C:X"), 3, 0)
hata:
    Range("I1") = "Kayıtlı Değil"
 
Merhaba

Deneyiniz.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C1]) Is Nothing Then Exit Sub
Set s1 = Sheets("Sayfa2")
    On Error GoTo hata
    sonuc = WorksheetFunction.VLookup(Range("C1"), s1.Range("C:X"), 3, 0)
    If sonuc <> "" Then
    Range("I1") = sonuc
Else
Range("I1") = "Kayıtlı Değil"
End If
hata:
End Sub
 
hocam hata değiştirince çalıştı sanırım sorun olmaz teşekkür ederim

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [C1]) Is Nothing Then Exit Sub
Set s1 = Sheets("İhale_Bilgileri")
    On Error GoTo hata
    sonuc = WorksheetFunction.VLookup(Range("C1"), s1.Range("C:X"), 3, 0)
hata:
    If sonuc <> "" Then
    Range("I1") = sonuc
Else
Range("I1") = "Kayıtlı Değil"
End If
End sub
 
Alternatif
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Sonuc As Range
    Dim S1 As Worksheet
    
    If Not Intersect(Target, [C1]) Is Nothing Then
        Set S1 = Sheets("İhale_Bilgileri")
        Sonuc = S1.Range("C:X").Find(what:=Range("C1"), lookat:=Range("C1"))
        If Sonuc Is Nothing Then
            Range("I1") = "Kayıtlı Değil"
        Else
            Range("I1") = S1.Cells(Sonuc.Row, "E")
        End If
    End If
End Sub
 
hocam hata değiştirince çalıştı sanırım sorun olmaz teşekkür ederim

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [C1]) Is Nothing Then Exit Sub
Set s1 = Sheets("İhale_Bilgileri")
    On Error GoTo hata
    sonuc = WorksheetFunction.VLookup(Range("C1"), s1.Range("C:X"), 3, 0)
hata:
    If sonuc <> "" Then
    Range("I1") = sonuc
Else
Range("I1") = "Kayıtlı Değil"
End If
End sub

Merhaba

Sizin hatadan kastınız sonucun bulunmaması olsa gerek.
Bu hata değil, verinin olmadığıdır.

s1.Range("C:X"), 30, 0) veya s1.Range("C: D"), 3, 0)
Burayı değiştirirseniz hata olur, o zaman hata satırına yönlendirirsiniz.
 
evet veri yoksa "Kayıtlı Değil" yazacak hata yerini değiştirdim şuan çalışıyor
 
Geri
Üst