- Katılım
- 24 Ekim 2011
- Mesajlar
- 37
- Excel Vers. ve Dili
- excell 2003
Birden fazla sütuna bakarak mükerrer kayıt silme
Aşağıda verdiğim kod ile sayfaya veri kayıtı yapıyorum. Kayıt işlemi biraz karışık çünkü kopyalama işlemleri yapıyor. Herhangi bir kayıt yaptığımda kayıt işlemi tamamlandığında satırdaki verilerin tümü olarak aynısından başka kayıt varsa uyarı mesajı vererek kayıtın iptal edilmesini istiyorum.Mükerrer kayıt kontrollerini sadece b sütununa göre yapmasını istemiyorum çünkü b sütununda aynı isimde kayıtlar bulunuyor. Eğer "b,c,d" sütunlarının 3 üne birden bakarak aynı kayıt bulunuyorsa mükerrer kayıt hatası vermesi için ne yapmalıyız?
Aşağıda verdiğim kod ile sayfaya veri kayıtı yapıyorum. Kayıt işlemi biraz karışık çünkü kopyalama işlemleri yapıyor. Herhangi bir kayıt yaptığımda kayıt işlemi tamamlandığında satırdaki verilerin tümü olarak aynısından başka kayıt varsa uyarı mesajı vererek kayıtın iptal edilmesini istiyorum.Mükerrer kayıt kontrollerini sadece b sütununa göre yapmasını istemiyorum çünkü b sütununda aynı isimde kayıtlar bulunuyor. Eğer "b,c,d" sütunlarının 3 üne birden bakarak aynı kayıt bulunuyorsa mükerrer kayıt hatası vermesi için ne yapmalıyız?
Kod:
Private Sub CommandButton3_Click()
If ComboBox1.Value = "" Then
MsgBox "Lütfen listeden öğrenci seçiniz!"
ComboBox1.SetFocus
Exit Sub
End If
If ComboBox2.Value = "" Then
MsgBox "Lütfen listeden telafi saatini seçiniz!"
ComboBox2.SetFocus
Exit Sub
End If
If TextBox1.Value = "" Then
MsgBox "Lütfen telafi tarihini seçiniz!"
TextBox1.SetFocus
Exit Sub
End If
With Worksheets("Veri")
sonsatir = .Range("a65536").End(3)(2, 1).Row
If .Range("a2").Value = "" Then
sonsatir = 2
End If
Set bak = .Range("b:b").Find(ComboBox1.Text, , , 1)
If Not bak Is Nothing Then
If bak.Offset(0, 1).Value = CLng(CDate(TextBox1.Text)) _
And bak.Offset(0, 2).Value = ComboBox2.Text Then
MsgBox "Seçmiş olduğunuz öğrenci,tarih ve saate ait kayıt bulunmaktadır.. Lütfen kontrol ediniz. "
Unload Me
Exit Sub
End If
End If
Set bak = Nothing
.Range("a" & sonsatir).Value = sonsatir - 1
With .Range("a" & sonsatir)
.Offset(0, 1).Value = ComboBox1.Text
.Offset(0, 2).Value = CLng(CDate(TextBox1))
.Offset(0, 3).Value = ComboBox2.Text
.Offset(0 - 1, 11).Copy Destination:=.Offset(0, 11)
.Offset(0 - 1, 12).Copy Destination:=.Offset(0, 12)
.Offset(0 - 1, 13).Copy Destination:=.Offset(0, 13)
.Offset(0 - 1, 14).Copy Destination:=.Offset(0, 14)
.Offset(0 - 1, 15).Copy Destination:=.Offset(0, 15)
.Offset(0 - 1, 16).Copy Destination:=.Offset(0, 16)
.Offset(0, 14).Copy Destination:=.Offset(0, 4)
.Offset(0, 15).Copy Destination:=.Offset(0, 5)
End With
End With
aciklama = "Kayıt İşlemi Başarıyla Tamamlandı"
dugme = vbOKOnly + vbInformation + vbDefaultButton1
baslik = "KAYIT"
MsgBox aciklama, dugme, baslik
Unload Me
End Sub
Son düzenleme:
