• DİKKAT

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

Veriyi Bul Hücre Sil Yukarıya ötele de sorun...

Katılım
15 Mart 2005
Mesajlar
58
Merhaba herkese
buraya yazan diğer arkadaşlar gibi benim de bir sorum olacak

aşağıdaki kodlarla sayfa üstündeki veriyi buluyorum ve
aynı satırdaki bazı verileri siliyorum ama
son iki satırı silemiyorum döngüde bir hata var
kod şu :
'**************************
Dim silinecek As Range
For Each silinecek In Range("a1:a" & WorksheetFunction.CountA(Range("a1:a65000")))
If StrConv(silinecek.Value, vbUpperCase) = StrConv(TextBox17.Value, vbUpperCase) Then
silinecek.Select
TextBox17.Value = ActiveCell.Offset(0, 0).Value
Range(ActiveCell.Offset(0, 0).Address(False, False) & ":" & ActiveCell.Offset(0, 16).Address(False, False)).Delete Shift:=xlUp
UserForm2.TextBox17.Value = "silindi"
Exit Sub
End If
Next silinecek
'*************************
sizce burada hatam nerededir ...
şimdiden teşekkür ederim...
 
Koddaki hatayı söylemek için dosyanızı görmekte fayda olduğunu düşünüyorum. Birde aşağıdaki şekilde deneyin.

[vb:1:a238d55237]Private Sub CommandButton1_Click()
Dim silinecek As Range
For Each silinecek In Range("a1:a" & WorksheetFunction.CountA(Range("a1:a65000")))
If StrConv(silinecek.Value, vbUpperCase) = StrConv(TextBox17.Value, vbUpperCase) Then
sat = silinecek.Row
Range("a" & sat & ":q" & sat).Delete
UserForm2.TextBox17.Value = "silindi"
Exit Sub
End If
Next silinecek
End Sub[/vb:1:a238d55237]
 
sayın leventm değerli cevabınız için teşekkür ederim...
yazmış olduğunuz kodlarda da aynı işlemi yapıyor...
lakin probem aynı şekilde devam ediyor...

bende sorunun kaynağını buldum ; a1,a2,b1,b2 hücreleri boş değer içeriyor..
ve bu iki değeri atlaması son iki satırı silmiyor yani kod atlıyor...
ben de sorunu geçici olarak bu hücreleri doldurarak çözdüm şimdilik...

değerli cevabınız için teşekkür ederim....
 
Tamam sebep şimdi anlaşıldı. Bu durumda

WorksheetFunction.CountA(Range("a1:a65000")) satırını aşağıdaki ile değiştirin.

[a65536].end(xlup).row

[vb:1:93a49c63d4]Private Sub CommandButton1_Click()
Dim silinecek As Range
For Each silinecek In Range("a1:a" & [a65536].end(xlup).row)
If StrConv(silinecek.Value, vbUpperCase) = StrConv(TextBox17.Value, vbUpperCase) Then
sat = silinecek.Row
Range("a" & sat & ":q" & sat).Delete
UserForm2.TextBox17.Value = "silindi"
Exit Sub
End If
Next silinecek
End Sub [/vb:1:93a49c63d4]

Not:kendi kodunuzda da aynı değişikliği yapmanız yeterlidir.
 
tekrar teşekkürler sayın leventm
aynen dediğiniz gibi uygulayınca sorun kalmadı...
 
Geri
Üst