• DİKKAT

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

Aranan veri bulunamazsa makrodan çıklsın

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Dostlar Selamlar,
Sub Bul()
On Error Resume Next
Set S1 = Sayfa4
S1.Select
Set KRİTER = UserForm1.ComboBox1
ara = S1.[B:B].Find(What:=KRİTER, LookIn:=xlValues, LookAt:=xlWhole).Activate
UserForm1.TextBox1.Value = ActiveCell.Offset(0, 1).Value
UserForm1.TextBox2.Value = ActiveCell.Offset(0, 2).Value
Set S1 = Nothing
Exit Sub
End Sub
Bu kodla arama veri alma işlemi yapıyorum. Aranan veri bulunamazsa farklı veriler geliyor. Bulunamayınca işlemi sonlandırıp çıkmasını istiyorum. Nasıl bir ekleme yapmam gerekir.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Sub Bul()
On Error Resume Next
    Set S1 = Sayfa4
    S1.Select
    Set KRİTER = UserForm1.ComboBox1
    ara = S1.[B:B].Find(What:=KRİTER, LookIn:=xlValues, LookAt:=xlWhole).Activate
[B][COLOR=DarkGreen]  If (ara Is Nothing) Then exit sub[/COLOR][/B]
'  If (Not rngBul Is Nothing) Then
    UserForm1.TextBox1.Value = ActiveCell.Offset(0, 1).Value
    UserForm1.TextBox2.Value = ActiveCell.Offset(0, 2).Value
    Set S1 = Nothing
    Exit Sub
End Sub
deneyiniz hata verirsa aşğıdaki yapıyı inceleyin:

Kod:
Sub arabulvs()
Dim csf As Worksheet: Set csf = Worksheets("bayiler")
Dim strAra$, strkrs1$, strkrs2$
With csf
  strAra = "alpata"
  strkrs1 = "alpata"
[B][COLOR=DarkGreen]  Set rngBul = .Range("b1:b65000").Cells.Find(strAra, LookIn:=xlValues, LookAt:=xlWhole)             '||
  If (Not rngBul Is Nothing) Then[/COLOR][/B]
    If UCase(rngBul.Value) = UCase(strkrs1) Then
      MsgBox ("Mükerrer kayıt"), , "Bu kayıt daha önce girilmiş."
    End If
  Else
    MsgBox "giriş serbest"
  End If
 Set rngBul = Nothing
End With
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Selamlar,
Cevabınız için teşekkürler Sayın hsayar,
Sub Bul()
On Error Resume Next
Set S1 = Sayfa4
S1.Select
Set KRİTER = UserForm1.ComboBox1
ara = S1.[B:B].Find(What:=KRİTER, LookIn:=xlValues, LookAt:=xlWhole).Activate
If UserForm1.ComboBox1.Value <> ActiveCell.Value Then Exit Sub
UserForm1.TextBox1.Value = ActiveCell.Offset(0, 1).Value
UserForm1.TextBox2.Value = ActiveCell.Offset(0, 2).Value
Set S1 = Nothing
Exit Sub
End Sub
Şu şekilde uyguladım oldu.
 
Üst