BUL-EKLE-SİL kontrolünde hata

Katılım
31 Ocak 2014
Mesajlar
82
Excel Vers. ve Dili
excell 2007
Arkadaşlar merhaba. aşağıdaki kodlarda bir hata var sanırım.
hatanın nerede olduğunu bulamadım.
form aracılığı ile textbox lar üzerinden girilen verilere
BUL-EKLE-SİL kontrolleri uygulanmakta.

BUL butonu birebir eşleme olmasa da yakın değerleri bulup getiriyor.
textbox1 yada textbox2 den herhangi birine değer girildiğinde ilgili alan
üzerinde bulmasını, değer yok ise uyarmasını istiyorum.
ayrıca ekle butonu için de girilen değer daha önce girilmiş ise uyarmasını, mükerrer kayıt yapılmasına izin vermemesini istiyorum. bunların dışında kodların sadeleştirilerek form üzerinde işlem yapıldığında giriş yapılan sayfanın açılmaması mümkün mü.
BUL-EKLE-SİL kontrolleri için kullandığım kodlar aşağıdadır. yardımcı olursanız çok sevinirim.

Kod:
Private Sub CommandButton2_Click()

'EKLEME KAYDETME BUTONU

Application.ScreenUpdating = False

Dim a

a = TextBox1.Value & TextBox2.Value

On Error GoTo 10

Sheets("TAKİP").Select
Range("B:C").Select
Selection.Find(a).Select

On Error Resume Next

MsgBox ("DAHA ÖNCE BU NUMARAYA AİT KAYIT YAPILMIŞTIR. KONTROL EDİNİZ.")

TextBox1.Value = ""
TextBox2.Value = ""

GoTo 50

10

Sheets("TAKİP").Select

If Range("A2") = "" Then
Range("A2").Select
ActiveCell = 1
ActiveCell.Offset(0, 1) = TextBox1.Value
ActiveCell.Offset(0, 2) = TextBox2.Value
ActiveCell.Offset(0, 3) = TextBox4.Value


Else

[A65536].End(xlUp).Offset(1, 0).Select
ActiveCell = ActiveCell.Offset(-1, 0) + 1
ActiveCell.Offset(0, 1) = TextBox1.Value
ActiveCell.Offset(0, 2) = TextBox2.Value
ActiveCell.Offset(0, 3) = TextBox4.Value

End If

TextBox1.Value = ""
TextBox2.Value = ""

TextBox4 = ""


Application.ScreenUpdating = True


TextBox1.SetFocus

50

End Sub


Private Sub CommandButton3_Click()

Application.ScreenUpdating = False
Application.DisplayAlerts = True

'BUL BUTONU

On Error GoTo 10

Dim a

a = TextBox1.Value & TextBox2.Value

Sheets("TAKİP").Select
Range("B:C").Select
Selection.Find(a).Select


If TextBox2.Value = "" Then


TextBox1 = ActiveCell.Offset(0, 0)
TextBox2 = ActiveCell.Offset(0, 1)
TextBox4 = ActiveCell.Offset(0, 2)

Else

TextBox1 = ActiveCell.Offset(0, -1)
TextBox2 = ActiveCell.Offset(0, 0)
TextBox4 = ActiveCell.Offset(0, 1)

End If


GoTo 20
10
MsgBox "GİRDİĞİNİZ NUMARA BULUNAMAMIŞTIR. NUMARAYI KONTROL EDİNİZ"
20
Application.ScreenUpdating = True
Application.DisplayAlerts = False
End Sub

Private Sub SİL_Click()

'SİLME BOTONU

Dim Mesaj As String
    Application.ScreenUpdating = False
    Mesaj = MsgBox("Kayıtın Silinmesini İstiyormusunuz?", vbCritical + vbYesNo, "Kayıt Sil")
    Select Case Mesaj
    Case vbYes

Dim a

On Error GoTo 10
a = TextBox1.Value & TextBox2.Value


Sheets("TAKİP").Select
Range("B:C").Select
Selection.Find(a).Select
Set Alan = ActiveCell
        Alan.EntireRow.Delete
        With Me

           
            .TextBox1.Value = vbNullString
            .TextBox2.Value = vbNullString
            
            .TextBox4.Value = vbNullString
        End With
    Case vbNo
        Exit Sub
    End Select
    Application.ScreenUpdating = True
GoTo 20
10
MsgBox "GİRDİĞİNİZ NUMARA BULUNAMAMIŞTIR.NUMARAYI KONTROL EDİNİZ"
20
TextBox1.SetFocus


End Sub
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Sayın mozakay keşke kod yerine örnek dosyanızı ekleseydiniz cevap vermek daha doğru olurdu.
 
Üst