Soru Silme İşlemi Sonrası Userform Sorunu

Katılım
30 Mart 2010
Mesajlar
240
Excel Vers. ve Dili
2007,2010,2013
Altın Üyelik Bitiş Tarihi
29-05-2021
Merhaba, userformda silme işlemi yaptıktan sonra userform yükleniyor fakat hemen kapanıyor. ShowModal=False durumunda. Yazdığım kod aşağıdaki gibidir. Sorunun kaynağı sizce ne olabilir?
Teşekkürler.
Kod:
Private Sub cmd_sil_Click()
Dim Sh As Worksheet, ss As Integer
Set Sh = Sheets(11)
On Error Resume Next
If ListBox1.ListIndex = -1 Then Exit Sub
Application.ScreenUpdating = False
silinecek = ListBox1.ListIndex + 4
onay = MsgBox("Seçili olan kayıt silinsin mi?", vbYesNo, "ONAY")
If onay = vbNo Then Exit Sub
    verid = Sheets(11).Cells(silinecek, "D").Value
    verie = Sheets(11).Cells(silinecek, "E").Value
    
    For i = 1 To Sheets(6).Range("B51").End(3).Row
    If verid = Sheets(6).Cells(i, "D").Value And verie = Sheets(6).Cells(i, "E").Value Then
    Sheets(6).Rows(i).ClearContents
    End If
    Next i
Sheets(6).Select
Range("A2:M51").Sort Range("B2")
ss = Sheets(6).Range("D51").End(3).Row
For i = 1 To ss - 1
Sheets(6).Range("B" & i + 1).Value = i
Next i
Application.DisplayAlerts = False
Sheets(Sh.Cells(silinecek, 12).Value).Delete
Sh.Rows(silinecek).ClearContents
Sheets(11).Select
Range("B4:M18").Sort Range("B4")
Application.DisplayAlerts = True
'yeniden sıralama
ss = Sh.Range("D19").End(3).Row
For i = 1 To ss - 3
Sh.Range("B" & i + 3).Value = i
Next i
    'sildikten sonraki sayfa adı
    For j = 4 To Sheets(11).Range("B" & Rows.Count).End(xlUp).Row
    hucre = Sheets(11).Range("L" & j)
    sayi = Mid(hucre, 1, 2)
      If IsNumeric(sayi) = True Then
      Sheets(11).Range("L" & j) = Replace(Sheets(11).Range("L" & j), sayi, Sheets(11).Range("B" & j) & " ")
        eskiad = Sheets(11).Range("M" & j).Value
        yeniad = Sheets(11).Range("L" & j).Value
        If [eskiad] <> [yeniad] Then
        Sheets(eskiad).Select
        Sheets(eskiad).Name = [yeniad]
        Sheets(11).Range("M" & j).Value = Sheets(11).Range("L" & j).Value
        End If
        If eskiad = yeniad Then
        End If
        Sheets(11).Select
      End If
    Next j
    
Dim aranacaksatir As Integer
For aranacaksatir = 4 To Sheets(11).Range("B19").End(3).Row
verid = Sheets(11).Cells(aranacaksatir, "D").Value
verie = Sheets(11).Cells(aranacaksatir, "E").Value

For i = 1 To Sheets(6).Range("B51").End(3).Row
If verid = Sheets(6).Cells(i, "D").Value And verie = Sheets(6).Cells(i, "E").Value Then
Sheets(6).Cells(i, "L").Value = Sheets(11).Cells(aranacaksatir, "L").Value
Sheets(6).Cells(i, "M").Value = Sheets(11).Cells(aranacaksatir, "M").Value
End If
Next i
Next aranacaksatir
Sheets(11).Select
Application.ScreenUpdating = True
UserForm_Initialize
UserForm1.Show 0
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Kod:
On Error Resume Next
satırı eğer aşağıdaki kodlarda bir hata varsa görmezden gel ve devam et işlemini yapıyor.
Bu satır hiçbir zaman tamamlanmış bir uygulamada kullanılmaması gerekir.
Neden kullanılmamalı? Çünkü kodlarda hata olup olmadığını anlamanıza engel olur.
Hangi durumlarda kullanılır? Kod yazarken bilinen bir hatanın gözardı edilmesi için. Kod yazma işlemi bittikten sonra bu satır mutlaka silinmelidir.
Aksi halde benim kodlarım doğru yada yanlış çalışsın benim için fark etmez anlamı taşıyor.

Uzun lafın kısası hatanın ne olduğunu anlamaya engel olan o satırı önce silin sonra nerede hata olduğunu bulmaya çalışın.
 
Katılım
30 Mart 2010
Mesajlar
240
Excel Vers. ve Dili
2007,2010,2013
Altın Üyelik Bitiş Tarihi
29-05-2021
Merhaba, kod hata vermiyor. Asıl kod kısmında hataları yoksay kısmı yok. Buraya ekleyeceğim için kod kısmına ilave ettim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
İlginç. Buraya kod eklerken neden o satırı da ekliyorsunuz ki?

Sorunu anlayabilmek için hemen kapanan formu da görmemiz lazım.
Yani dosyanızı ekleyin ki sorunu anlayalım ve çözüm arayalım.
 
Katılım
30 Mart 2010
Mesajlar
240
Excel Vers. ve Dili
2007,2010,2013
Altın Üyelik Bitiş Tarihi
29-05-2021

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Silme kodu hakkında bizden yardım istiyorsunuz ama örnek dosyanızdaki formda silinecek hiçbir şey yok.
Ben sorunu çözemiyorum. Kolay gelsin size.
 
Katılım
30 Mart 2010
Mesajlar
240
Excel Vers. ve Dili
2007,2010,2013
Altın Üyelik Bitiş Tarihi
29-05-2021
Merhaba, Kaydet butonu çalışıyordu. Vakit ayırdığınız için teşekkürler.
Örnek olması açısından kendi çözümümü ekleyeyim.
Kod:
Private Sub cmd_sil_Click()
altındaki
Kod:
Sheets(Sh.Cells(silinecek, 12).Value).Delete
kod satırını
Kod:
Dim silsayfa As Worksheet
Set silsayfa = Sh.Cells(silinecek, 12).Value
silsayfa.Delete
şeklinde değiştirince sorun çözüldü.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Siz eski bir üyesiniz. Bence diğer yeni üyelere de örnek olmanız gerekirdi.

Foruma makro ile ilgili soru soruyorsunuz. Fakat sorunuz FONKSİYONLAR bölümünde bulunuyor.
UserForm koduyla ilgili sıkıntı yaşadığınızı belirtip kod paylaşıyorsunuz. Kod içinde hataları engelleyen kod satırını ekliyorsunuz. Sonra size cevap verenlere bu kodu foruma eklerken yazdığınızı belirtiyorsunuz.
Sonra hatanın tespiti için sizden dosya isteniyor. Siz boş bir dosya ekleyerek yardım istiyorsunuz.

En azından 5-10 hayali satır ekleyip yardım etmek isteyenleri yönlendirebilirsiniz.

Bunları neden yazdım. Bu başlığı okuyan diğer üyelerimize örnek olsun diye yazdım.
 
Katılım
30 Mart 2010
Mesajlar
240
Excel Vers. ve Dili
2007,2010,2013
Altın Üyelik Bitiş Tarihi
29-05-2021
Merhaba, sonraki sorularımda söylediklerinize dikkat ederim.
 
Üst