AccessTr.neT
Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. (/konu-excel-vba-ile-userform-uzerinden-kayit-silme-hakkinda.html)

Sayfalar: 1 2 3 4 5


Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. - Oğuz Türkyılmaz - 25/04/2021

Merhaba İyi Pazarlar Herkese
Uygulamamda menu sekmesinde Bayi Formu tıklandığında userform açtırıyorum. Devamında Firma Ünvanı Comboboxında silmek istediğim firmayı seçip userform üzerine firma bilgilerini aldıktan sonra sil butonuna tıklayarak silmek istiyorum. Uygulamada daha önce bu işlem Firma ID bilgisi üzerinden arama yaptırılarak bilgiler ekrana getiriliyor ve kayıt sil butonu ile gerçekleştiriliyordu. Uguladığım bu yöntemi zaman alması ve hantal olması sebebiyle değiştirmek istiyorum. Yardımlarınız için teşekkür ederim.


RE: Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. - feraz - 25/04/2021

Merhaba alttaki kod işinizi görür.Combo seçilince ComboBox_FirmaUnvani.Tag  buna satır no geliyordu varsa.Comcodan seçilen yoksada mesaj yazdırdım yani fazla kod eklemedim.
Kısaca
Kod:
.Rows(ComboBox_FirmaUnvani.Tag).EntireRow.Delete
ekledim
Kod:
.Rows(ActiveCell.Row).Delete
yerine.

Private Sub btn_KayitSil_Click()
    If MsgBox("Veriler Silinecek, Emin misiniz...?", vbExclamation + vbYesNo, "Firma Tanýmlama Formu") = vbNo Then Exit Sub
    With ThisWorkbook.Worksheets("Ana_Sayfa")
        If ComboBox_FirmaUnvani.Tag = "" Then
            MsgBox "Kayit bulunamadi..", vbCritical, "Hata"
            Exit Sub
        End If
        .Unprotect "171717"
        .Rows(ComboBox_FirmaUnvani.Tag).EntireRow.Delete
        .Protect "171717"
        Call temizle
        TextBox_Tarih = Format(Date, "dd.mm.yyyy")
    End With
    TextBox_Tarih.SetFocus
    With TextBox_Tarih
        .SelStart = 0
        .SelLength = .TextLength
    End With
    btn_KayitEkle.Enabled = True
End Sub



RE: Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. - Oğuz Türkyılmaz - 25/04/2021

Feraz Hocam o kısacık kod için göbeğim çatladı 2 gündür nette izlemediğim video kalmadı bana uygununu bir türlü bulamadım. Çok teşekkür ederim. Sorunum çözülmüştür.


RE: Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. - feraz - 25/04/2021

Rica ederim abey.Önceden halil hocamız tag ile satır no buldurmuştu find kullanarak.Kullanmasaydı burdada aynı find kullanacaktım bukez tag olmadan.Kolay gelsin.


RE: Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. - feraz - 25/04/2021

Abey bence tag yöntemi ile yapılan sorun çıkartabilir.
En iyisi alttaki kodu kullanın.

Private Sub btn_KayitSil_Click()
    Dim bul As Range
    If MsgBox("Veriler Silinecek, Emin misiniz...?", vbExclamation + vbYesNo, "Firma Tanymlama Formu") = vbNo Then Exit Sub
    With ThisWorkbook.Worksheets("Ana_Sayfa")
        Set bul = .Range("A:A").Find(TextBox_ID.Value, , xlValues, 1)
        If bul Is Nothing Or TextBox_ID.Value = "" Then
            MsgBox "Kayit bulunamadi..", vbCritical, "Hata"
            Set bul = Nothing
            Exit Sub
        End If
        .Unprotect "171717"
        .Rows(bul.Row).EntireRow.Delete
        Set bul = Nothing
        .Protect "171717"
        Call temizle
        TextBox_Tarih = Format(Date, "dd.mm.yyyy")
    End With
    TextBox_Tarih.SetFocus
    With TextBox_Tarih
        .SelStart = 0
        .SelLength = .TextLength
    End With
    btn_KayitEkle.Enabled = True
End Sub



RE: Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında. - berduş - 25/04/2021

Silme kodundan sonra .tag="" gibi boşaltma kodunun eklenmesi yeterli olmaz mi?
Sizce tag hangi durumlarda sorun çıkarabilir @feraz hocam?