Excel Tekrarsız veri doğrulama (formüle)

Kodla Büyü

sertokus

Süper Üye
Süper Üye
Mesajlar
2,350
Arkadaşlar a sütununda veriler var ama tekrarlı.
Verieler söyle diyelim
5a
5a
5b
5a
6a
5b
......
Seklinde . Veri doğrulama ile nasıl Tekrarsız listeyi listelerim.
Edit: Dosyayı ekledim.
Edit : formüller ile çözümü
 

Ekli dosyalar

  • sınıf bazında.rar
    8 KB · Görüntüleme: 24
Son düzenleme:
KODLA BÖYLE
Dim s1, s2, x, a
Set s1 = Sheets("SAYFA1")
Set s2 = Sheets("SAYFA2")
x = 1
For a = 1 To s1.Range("B65500").End(3).Row
If WorksheetFunction.CountIf(s1.Range("A1:A" & a), s1.Cells(a, "A")) = 1 Then
s1.Cells(x, "B") = s1.Cells(a, "A")
x = x + 1
End If
Next
s2.Range("B" & x & ":F65500").ClearContents

SAYFA 1 A SÜTUNU SAYFA 2 B SÜTUNUNA TEKRARSIZ
 
KODLA BÖYLE
Dim s1, s2, x, a
Set s1 = Sheets("SAYFA1")
Set s2 = Sheets("SAYFA2")
x = 1
For a = 1 To s1.Range("B65500").End(3).Row
If WorksheetFunction.CountIf(s1.Range("A1:A" & a), s1.Cells(a, "A")) = 1 Then
s1.Cells(x, "B") = s1.Cells(a, "A")
x = x + 1
End If
Next
s2.Range("B" & x & ":F65500").ClearContents

SAYFA 1 A SÜTUNU SAYFA 2 B SÜTUNUNA TEKRARSIZ
Aslında formülle sormuştum ama. Onu belirtmememisim. Tamam hocam bu da bulunsun. Teşekkürler
 
=eğersay() formülü ile tekrar sayılarını yaz yanına. daha sonra sayısı 1(bir) olanların dışındakileri filtrele ve sil. geriye sayısı 1(bir) olanlar kalacaktır. 10 saniyeni almaz... :rolleyes:
 
=eğersay() formülü ile tekrar sayılarını yaz yanına. daha sonra sayısı 1(bir) olanların dışındakileri filtrele ve sil. geriye sayısı 1(bir) olanlar kalacaktır. 10 saniyeni almaz... :rolleyes:
Hocam dosyayı paylaştım. Amacım herhangi bir satırı silmeden veri doğrulama ile filtreleme yapmak.
Yani herhangi bir satırı silemem.

Birde hocam eğersay komutu ile 1 olanların dışındakileri siler isem geriye bişey kalmaz. Çünkü tüm hepsinden 1 den fazla var zaten.
 
hocam access ile denediniz mi? tabloyu tam olarak ne amaçla oluşturuyorsunuz. tek olan sınıflara öğrenci adı mı gireceksiniz? eğer böyle bir şey ise accesste sorgu oluşturup yinelenen kayıtları görebilir veya ölçüt belirleyip sadece 1 olanları ekrana getirebilirsiniz.
 
Anladım hocam. O zaman bu iş için kod yazmak gerekecek. Görseldeki gibi bir Çalıştırıabilir Makro içerebilen bir Excel dosyası oluşturup bir Buton ekleyin. Butonun Click olayına da şu kodu ekleyip çalıştırın bakalım...

Private Sub CommandButton1_Click()
a = 22 ' kayıt sayısı
sayi = 0

For k = 1 To a
Cells(k, 2) = " "

Next

For k = 1 To a
For l = 1 To a
If Cells(k, 1) = Cells(l, 2) Then
GoTo ok
End If

Next
sayi = sayi + 1
Cells(sayi, 2) = Cells(k, 1)
ok:

Next

End Sub
 

Ekli dosyalar

  • kod.jpg
    kod.jpg
    66.6 KB · Görüntüleme: 15
@htoprak3232 aslında çözümü size göndermiş. uygulanmış örneği ektedir.
Kod:
Private Sub Workbook_Open()
Dim s1, s2, x, a
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
x = 1
For a = 1 To s1.Range("a65500").End(3).Row
If WorksheetFunction.CountIf(s1.Range("A1:A" & a), s1.Cells(a, "A")) = 1 Then
s2.Cells(x, "a") = s1.Cells(a, "A")
x = x + 1
End If
Next
s2.Range("a" & x & ":F65500").ClearContents
End Sub
 

Ekli dosyalar

  • sınıf bazındadır.rar
    14.9 KB · Görüntüleme: 19
Geri
Üst