• DİKKAT

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

combobox ile mükerrer kayıtları silmek

Katılım
7 Ocak 2008
Mesajlar
4
Excel Vers. ve Dili
Excel 2010 TR
Öncelikle herkese merhaba,

Comboboxa tıkladığımda mükerrer olan sütünü seçmemi sağlayacak ve seçtiğim sütündeki benzer kayıtları bulup benzer kaydın olduğu tüm satırı sildirecek bir combobox yapmak istiyorum. Yardımlarınız için şimdiden teşekkürler.

p3cwp.png
 
Aşağıdaki kod yardımı ile M sütünündeki mükerrer kayıtları tüm satırlardan silebiliyorum bu kodu Combobox ile ilgili sütünü seçmeyi istemesini nasıl sağlarım?
Kod:
Sub MÜKERRER_KAYITLARI_SİL()
    For X = [M65536].End(3).Row To 1 Step -1
    If WorksheetFunction.CountIf(Range("M1:M" & X), Cells(X, "M")) > 1 Then Rows(X).Delete
    Next
    MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
End Sub
 
Eğer mükerrer kayıtları bulmak istiyorsanız aşağıdaki kodu deneyebilirsiniz.

Sub Düğme1_Tıklat()
For a = 1 To [a65536].End(xlUp).Row
If WorksheetFunction.CountIf(Columns(1), Cells(a, 1)) > 1 Then Cells(a, 1).Interior.ColorIndex = 3
Next
End Sub
 
Son düzenleme:
Mükerrer kayıtları silebiliyorum. Fakat bunu ben seçmeli yapmak istiyorum. Combobox a tıkladığımda mükerrer olan kayıtların hangi sutunda olduğunu sormasını istiyorum.
 
Bir TextBox ekleyin eklediğiniz TextBox a hangi kolon adını girerseniz o kolon üzerinde işlem yapmak için
Kod:
Sub MÜKERRER_KAYITLARI_SİL()
    Dim cln As String
    Dim X As Integer
    cln = TextBox1.Value
    If cln = "" Then
        MsgBox "Lütfen kolon adı giriniz."
        TextBox1.SetFocus
        Exit Sub
    End If
    On Error GoTo Hata
    For X = [M65536].End(3).Row To 1 Step -1
        If WorksheetFunction.CountIf(Range(cln & "1:" & cln & X), Cells(X, cln)) > 1 Then Rows(X).Delete
    Next
    MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
    Exit Sub
Hata:
    If Err.Number = 1004 Then
        MsgBox "Hatalı kolon adı girdiniz lütfen yeniden deneyiniz."
    Else
        MsgBox "İşlem gerçekleştirilemedi."
    End If
End Sub

kodlarını kullanabilirsiniz. Yeni eklediğiniz TextBox un adının TextBox1 olduğu varsayılmıştır

Ya da aşağıdaki gibi InputBox kullanarak da yapabilirsiniz
Kod:
Sub MÜKERRER_KAYITLARI_SİL()
    Dim cln As String
    Dim X As Integer
    cln = TextBox1.Value
    If cln = "" Then
        MsgBox "Lütfen kolon adı giriniz."
        TextBox1.SetFocus
        Exit Sub
    End If
    On Error GoTo Hata
    For X = [M65536].End(3).Row To 1 Step -1
        If WorksheetFunction.CountIf(Range(cln & "1:" & cln & X), Cells(X, cln)) > 1 Then Rows(X).Delete
    Next
    MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
    Exit Sub
Hata:
    If Err.Number = 1004 Then
        MsgBox "Hatalı kolon adı girdiniz lütfen yeniden deneyiniz."
    Else
        MsgBox "İşlem gerçekleştirilemedi."
    End If
End Sub
 
Son düzenleme:
Geri
Üst