çift kayıt engelleme

Katılım
29 Ocak 2006
Mesajlar
138
Excel Vers. ve Dili
2003 türkçe
iyi geceler,aşağıdaki kodlarla sayfaya kayıt yaptırıyorum.
Private Sub CommandButton1_Click()
Sheets("Sayfa1").Select
Dim i As Integer
i = WorksheetFunction.CountA(Sheets("Sayfa1").Range("a:a")) + 1
With Sheets("Sayfa1")
.Cells(i, 1) = TextBox1
.Cells(i, 2) = TextBox2
.Cells(i, 3) = TextBox3
.Cells(i, 4) = TextBox4
End With
TextBox1.SetFocus
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
End Sub
aşağıdaki kodlarla da çift kayıdı engellemek istiyorum.a ve c sütununda aynı veriyi bulunca engellemesini istiyorum ve 4 textboxtaki veriyi de kaydetmemesini istiyorum.aşağıdaki kodlar sadece aynı verileri kaydetmiyor diğerlerini kaydediyor.
Private Sub Worksheet_Change(ByVal target As Range)
If Intersect(target, [a:c]) Is Nothing Then Exit Sub
say = WorksheetFunction.CountIf(Range("a1:c" & target.Row - 1), target)
If say > 0 Then
MsgBox "bu kayıt mevcut"
target.Select
target = ""
End If
End Sub
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Çift kayıtları önlemek için kaydetme kodlarınızı aşağıdaki şekilde değiştirebilirsiniz.

Kod:
Private Sub CommandButton1_Click()
Dim sonuc As Boolean
sonuc = True
Sheets("Sayfa1").Select
Range("A2").Select
Dim i As Integer
i = WorksheetFunction.CountA(Sheets("Sayfa1").Range("a:a")) + 1

For k = 1 To i
If ActiveCell.Value = TextBox1.Value And ActiveCell.Offset(0, 2).Value = TextBox3.Value Then
sonuc = False
Else
ActiveCell.Offset(1, 0).Select
End If
Next k

If sonuc = True Then
With Sheets("Sayfa1")
.Cells(i, 1) = TextBox1
.Cells(i, 2) = TextBox2
.Cells(i, 3) = TextBox3
.Cells(i, 4) = TextBox4
End With
TextBox1.SetFocus
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
Else
MsgBox "Bu Kayıt Mevcut"
Exit Sub
End If
End Sub
 
Katılım
29 Ocak 2006
Mesajlar
138
Excel Vers. ve Dili
2003 türkçe
teşekkür ederim ripek tam istediğim gibi
 
Üst