Excel Vba on error sorunu/isteği

Katılım
17 Aralık 2019
Mesajlar
31
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-12-2021
Merhabalar,
Aşağıdaki makroda S1.Cells(X, 38) = "0" ise ilerlemeyi durdurup "hatalı giriş" uyarısını almak istiyorum
desteğinizi rica ederim.


For X = 6 To Son
On Error Resume Next
If S1.Range("G" & X) = "KAMYON" And S1.Range("W" & X) = "IRMAK" Then
Veri = Application.WorksheetFunction.VLookup(S1.Range("X" & X), S2.Range("B:I"), 8, 0)
If Err.Number <> 0 Then
S1.Cells(X, 38) = "0"
Else
S1.Cells(X, 38) = Veri
End If
End If
On Error GoTo 0
Next
 
Katılım
15 Aralık 2008
Mesajlar
202
Excel Vers. ve Dili
excel 2010
Kod:
For X = 6 To Son
        On Error Resume Next
        If S1.Range("G" & X) = "KAMYON" And S1.Range("W" & X) = "IRMAK" Then
        Veri = Application.WorksheetFunction.VLookup(S1.Range("X" & X), S2.Range("B:I"), 8, 0)
        If Err.Number <> 0  And S1.Cells(x, 38) = "0" Then
           Msgbox "Hatalı Giriş"
Exit Sub
        ElseIf Err.Number <> 0 And S1.Cells(x, 38) <> "0" Then
            S1.Cells(X, 38) = Veri
        End If
        End If
        On Error GoTo 0
        Next
Deneyin
 
Katılım
17 Aralık 2019
Mesajlar
31
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-12-2021
Kod:
For X = 6 To Son
        On Error Resume Next
        If S1.Range("G" & X) = "KAMYON" And S1.Range("W" & X) = "IRMAK" Then
        Veri = Application.WorksheetFunction.VLookup(S1.Range("X" & X), S2.Range("B:I"), 8, 0)
        If Err.Number <> 0  And S1.Cells(x, 38) = "0" Then
           Msgbox "Hatalı Giriş"
Exit Sub
        ElseIf Err.Number <> 0 And S1.Cells(x, 38) <> "0" Then
            S1.Cells(X, 38) = Veri
        End If
        End If
        On Error GoTo 0
        Next
Deneyin
olmadı maalesef IRMAK adında hücreyi buluyor yanlış olanı boş yapıyor ama doğru olanlarıda boş yapıp devam ediyor kod
 
Katılım
17 Aralık 2019
Mesajlar
31
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-12-2021
örnek dosyayı barındırıcı sitelerden birine yükler misiniz
ilginize çok teşekkür ederim.Aşağıdaki şekilde çözdüm işimi gördü

For X = 6 To Son
On Error Resume Next
If S1.Range("G" & X) = "KAMYON" And S1.Range("W" & X) = "IRMAK" Then
Veri = Application.WorksheetFunction.VLookup(S1.Range("X" & X), S2.Range("B:I"), 8, 0)
If Err.Number <> 0 Then
S1.Cells(X, 38) = "Hata"
S1.Cells(X, 38).font.Color = vbRed
MsgBox " Irmak KAMYON Alış Fiyatı hesaplamadı.", vbCritical, "Hatalı Giriş"
Else
S1.Cells(X, 38) = Veri
End If
End If
On Error GoTo 0
Next
 
Üst