• DİKKAT

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

Listede Parca Al ve Mukerrer (Yineleyen) ve Ilk Kez Yazilanlari Alfabetik Yazdirmak

Bu da başka bir kullanıcı tanımlı fonksiyon;

Not: Bu uygulamada sayılarda metin kabul edilerek sıralanır. Ayrıca bilgisayarınızda Microsoft.Net Framework yüklü olmalıdır.

Kod:
Option Explicit

Function BENZERSIZ(Alan As Range, Kacinci As Long, Optional Alfabetik As Boolean = True) As String
    Dim DiziA As Object, DiziB As Object, Veri As Range, Data As Variant, Aranan As String
    
    Set DiziA = CreateObject("System.Collections.Arraylist")
    Set DiziB = CreateObject("System.Collections.Arraylist")
    
    For Each Veri In Alan
        If Veri.Text <> "" Then
            Data = Split(Veri.Text, ",")
            If UBound(Data) >= 2 Then
                Aranan = UCase(Replace(Replace(CStr(Trim(Data(UBound(Data) - 1))), "ı", "I"), "i", "İ"))
                If Not DiziA.Contains(Aranan) Then
                    DiziA.Add Aranan
                    DiziB.Add CStr(Trim(Data(UBound(Data) - 1)))
                End If
            End If
        End If
    Next
    
    If Kacinci <= DiziB.Count Then
        If Alfabetik = True Then
            DiziB.Sort
            BENZERSIZ = DiziB.Item(Kacinci - 1)
        Else
            BENZERSIZ = DiziB.Item(Kacinci - 1)
        End If
    End If
End Function
 
Korhan Bey cok tesekkur ederim alternatif kod ile cozum icin. sorunsuz calisiyor.
 
Ayri bir konu acarak bunu sordum fakat aslinda yine bu konuyla iliskili cikan alfabetik siralilistenin en tepesinde bos bir hucre acip o hucreye girilen bir harf ve kelimeye bagli olarak listeyi o harf ve kelimeden baslatmak. yani ben C harfi yazdigimda liste C ile baslayan degerlerden baslayip var olan TUM listeyi gosterecek yani sadece C harfi ile baslayanlari gostermeyecek. bunu formul ile cozmek mumkun mudur?
 
Geri
Üst