-
한 셀에서 중복제거후 정렬VB(A) 2019. 3. 17. 09:44
Chronicle님(블로그 바로가기)께 약간 도움을 받은 내용입니다.
하나의 셀에 여러 데이터가 중복으로 있을 때
중복항목은 제거하여 오름차순 또는 내림차순으로 정렬하는 사용자정의 함수입니다.
ArrayList 개체를 활용하여 정렬을 한번에 하는 것이 이번 코드의 골자입니다.
Option ExplicitFunction UniqueSort(ByVal s As String, Optional sortby As Boolean = False) As String'중복된 데이터를 제거하고 오름차순 또는 내림차순으로 정렬하는 사용자정의 함수입니다.'오름차순 정렬이 기본으로 설정되어 있습니다.'내림차순으로 정렬하고자 하면 =UniqueSort(A1, True) 로 입력을 하면 됩니다.Dim v As VariantDim C As ObjectSet C = CreateObject("System.Collections.ArrayList") 'ArrayList 생성With C'고유항목만 ArrayList에 삽입For Each v In Split(s, ",")If Not .contains(v) Then .Add vNext v.sort '배열을 오름차순으로 정렬(기본)If sortby = True Then .Reverse 'True가 있을 때 내림차순으로 정렬UniqueSort = Join(.ToArray, ",")End WithEnd Functioncs 'VB(A)' 카테고리의 다른 글
[정규식] 일정한 패턴의 숫자만 가져오기 (0) 2019.03.18 공급업체별 제품명 출력하기 (2) 2019.03.17 특정 글자색 추려내기 (0) 2019.03.16 같은 글자색의 숫자 더하기 (0) 2019.03.15 시트명을 입력하면 해당 시트로 이동 (0) 2019.03.12 댓글