Hirdetés

Új hozzászólás Aktív témák

  • Fehér Mancs

    tag

    válasz Gabcsika #4442 üzenetére

    Még egy észrevétel, ha macroval számoltatjuk ki ezt, akkor saját függvényt érdemes használni, mivel az nem módosítja az adataidat, változásnál újra is számol, másolható, stb.

    Erre egy megoldás:

    Function CountDistinct(Ertekek As range, Tartomany As range, Vizsg_ertek) As Variant
    Dim Taroltak()
    Dim i, j, Talalat
    Dim VanMar As Boolean

    Talalat = 0
    For i = 1 To Ertekek.Rows.Count
    If Ertekek(i) = Vizsg_ertek Then
    If Talalat = 0 Then
    ReDim Taroltak(1)
    Taroltak(1) = Tartomany(i)
    Talalat = 1
    Else
    VanMar = False
    For j = 1 To Talalat
    If Taroltak(j) = Tartomany(i) Then
    VanMar = True
    Exit For
    End If
    Next j
    If Not (VanMar) Then
    ReDim Preserve Taroltak(Talalat + 1)
    Taroltak(Talalat + 1) = Tartomany(i)
    Talalat = Talalat + 1
    End If
    End If
    End If
    Next i
    CountDistinct = Talalat

    End Function

Új hozzászólás Aktív témák