silme makrosunda döngü hatası

Katılım
17 Ocak 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2020
Merhaba arkadaşlar. Formlar üzerinde çalışıyorum. Hücrelerdeki önceden kayıt edilmiş olan bilgileri textbox ve comboboxlara getiriyorum. Bu verileri silerken MsgBox ile uyarı veriyor. Ancak Evet butonuna basmama rağmen verileri silmiyor. Bir deneme yaptım sayfada toplam 10 satır veri varsa MsgBox'ın evet butonuna 9 kere basınca siliyor. Yani evet butonuna satır sayısında bireksik basarsam vgeri siliniyor.
Hatam nerede arkadaşlar? Yardımlarınız için teşekkür ederim.

Private Sub CommandButton4_Click()
'VERİLERİ SİLER
On Error Resume Next

Dim say As Integer '********
Dim i As Integer
Dim bos As Range
For Each bos In Range("B2:B" & WorksheetFunction.CountA(Range("B2:B65000")))
If TextBox1.Value = "" Or bos = "" Or ActiveCell = "" Then
MsgBox "Önce aradığınız veriyi BUL ile bulmalısınız"
Exit Sub
End If
secim = MsgBox(TextBox10.Value & " numaralı hayvanın bilgilerini kalıcı olarak silmek istediğinizden emin misiniz?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "UYARI!!!")
If secim = vbNo Then 'Değişiklkler onaylanmazsa...
'Bilgileri eski haline getir.
Exit Sub 'Kodun çalışmasını bitir.
End If
Next bos
Range(ActiveCell.Offset(0, -1).Address(False, False) & ":" & ActiveCell.Offset(0, 25).Address(False, False)).Delete Shift:=xlUp
say = WorksheetFunction.CountA(Range("A2:A65000"))
For i = 1 To say
Cells(i + 1, 1) = i
' Hücredeki veriyi silip formülü silmemesi için
Range("i").SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
Next i
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
ComboBox1.Value = ""
ComboBox2.Value = ""
TextBox6.Value = ""
End Sub
 
Katılım
17 Ocak 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2020
Değerli ustalar.
Mümkünse şu soruna bir göz atabilir misiniz? :yardim: :yardim:
 
Katılım
5 Şubat 2005
Mesajlar
114
Altın Üyelik Bitiş Tarihi
03-03-2022
Merhabalar,
"bos" için yapılmış olan for-next döngüsü, döngüyü b2 den b sütünunun kayıt sayısı kadar kontrol eder. sen bu döngünün içine kayıt silme eklemişsin.Fakat bir koşul eklememişsin. Bu demekki kaç tane kayıt varsa her biri için sileyimmi diyecektir. Yapman gereken bir if koşulu ile hangi durumda silme mesajı vermesi gerektiğini söylemen.
Kolay gelsin
 
Katılım
17 Ocak 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2020
Değerli üstad, yarmınınız için teşekkür ederim. Yaptığım hatayı anladım ve düzelttim. Tekrar teşekkür ederim. :dua:
 
Üst