DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub Liste()
Application.ScreenUpdating = False
Set dict = CreateObject("Scripting.Dictionary")
Range("K7:K" & [K7].End(xlDown).Row).ClearContents
a = Range("D4:i43").Value
For Each b In a
[COLOR="Red"]If b <> "" Then[/COLOR]
dict(b) = ""
[COLOR="red"]End If[/COLOR]
Next b
[K7].Resize(dict.Count, 1) = Application.Transpose(dict.keys)
Application.ScreenUpdating = True
End Sub
Function Benzersiz(Alan As Range)
Set d = CreateObject("Scripting.Dictionary")
For Each c In Alan
If Not d.Exists(c.Value) And c.Value <> "" Then d.Add c.Value, c.Value
Next c
Benzersiz = Application.Transpose(d.items)
End Function
Formülsüz çözüm için, kopyala, yapıştır, yinelenenleri kaldır, sırala yöntemlerini kullanabilirsiniz. Formüllü çözümü ben bilmiyorum. Makrolu çözüm için ise bu yöntemi makro kaydet yöntemiyle yapıp düzenleyebilirsiniz.
Teşekkür Sakman26 ktf listede boşluk olduğunda hata veriyor makro da boşluk varsa (D sütununda) 1 satır boş verip sıralıyor.tabi yine ben hata yapıp verilerin arasında boşluk olabiliyor demedim.Özür, böyle de idare eder.tekrar Sağol.selam,
alternatif olarak,
Makro ve KTF ile çözüm ektedir. İncelersiniz..
Makro ile
Kod:Sub Liste() Application.ScreenUpdating = False Set dict = CreateObject("Scripting.Dictionary") Range("K7:K" & [K7].End(xlDown).Row).ClearContents a = Range("D4:i43").Value For Each b In a dict(b) = "" Next b [K7].Resize(dict.Count, 1) = Application.Transpose(dict.keys) Application.ScreenUpdating = True End Sub
KTF ile (KTF kullanımı İNDİS fonksiyonu ile)
Kod:Function Benzersiz(Alan As Range) Set d = CreateObject("Scripting.Dictionary") For Each c In Alan If Not d.Exists(c.Value) And c.Value <> "" Then d.Add c.Value, c.Value Next c Benzersiz = Application.Transpose(d.items) End Function
=TOPLA.ÇARPIM(EĞER($D$4:$I$43<>"";1/EĞERSAY($D$4:$I$43;$D$4:$I$43)))
=Benzersiz($D$4:$I$43)
=EĞER(BAĞ_DEĞ_DOLU_SAY(K$6:K6)-1
<TOPLA(EĞER(ESAYIYSA(1/EĞERSAY(D$4:I$13;D$4:I$13));1/
EĞERSAY(D$4:I$13;D$4:I$13)));
İNDİS(D$4:I$13;MİN(EĞER(DEĞİL(EĞERSAY(K$6:K6;D$4:I$13))*
UZUNLUK(D$4:I$13);SATIR($1:$10));3^38);
MOD(MİN(EĞER(DEĞİL(EĞERSAY(K$6:K6;D$4:I$13))*
UZUNLUK(D$4:I$13);SATIR($1:$10)+
SÜTUN(A:F)%%));1)/1%%);"")
[COLOR="Blue"]Formül dizi formülüdür.CTRL+SHIFT+ENTER ile tamamlayınız.[/COLOR]