Microsoft Excel
Получение уникальных значений из диапазона
view plainprint? 1. Option Compare Text 2. 3. Public Function GetDistinct(rng As Range, Optional Trnsp As Boolean = True) As Variant() 4. Dim x, arr(), v, s As String, i As Long 5. x = Intersect(rng, rng.Worksheet.UsedRange).Value 6. ReDim arr(UBound(x)): s = "~" 7. For Each v In Intersect(rng, rng.Worksheet.UsedRange).Value 8. If Len(v) Then 9. If InStr(s, "~" & v & "~") = 0 Then 10. s = s & v & "~": arr(i) = v: i = i + 1 11. End If 12. End If 13. Next 14. GetDistinct = IIf(Trnsp, WorksheetFunction.Transpose(arr), arr()) 15. End Function |
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.