=UCOMB(범위지정, 사이사이 넣을 문자나 값 아무거나)
 ex) =ucomb(A1:C3,",")
하면 A1부터 C3안의 모든 문자를 돌아가며 중복데이터를 걸러낸 후, 오름차순 정렬하고
그 사이사이에 , 를 넣은 결과값이 나옵니다. 맨 마지막에는 , 를 빼도록 코딩했습니다.
--------------------------------------------------------------------------------

Function UComb(rngAR As Range, str As Variant)
Dim rngCell As Range
Dim i As Double
Dim strTemp() As Variant
Dim strCell As String
Dim NC As New Collection
Dim var As Variant 
i = rngAR.Count
ReDim strTemp(i) As Variant
i = 0
On Error Resume Next
'----------------------------------------이하 컬렉션오브젝트를 이용한 중복자료 거르기 구문
For Each rngCell In rngAR
        NC.Add rngCell.Value, CStr(rngCell.Value)
Next rngCell
'----------------------------------------이하 걸러진 중복자료를 배열변수에 넣기
For Each var In NC
    i = i + 1
    strTemp(i) = var
Next var
i = 0
'----------------------------------------이하 순환문을 사용한 오름차순 정렬법
For Each var In strTemp
i = i + 1
strCell = strCell & WorksheetFunction.Small(strTemp, i) & str
Next var 
'----------------------------------------이하  반환할 값인데, 그냥 STRCELL로 지정하시면 맨 끝에도 사이사이에 넣는 문자가 붙어서 나옵니다.
UComb = Left(strCell, Len(strCell) - Len(str))
End Function

Posted by 조용문
BLOG main image
by 조용문

공지사항

카테고리

분류 전체보기 (66)
사진 (7)
흙건축 (14)
스틸하우스 (9)
D.I.Y (6)
프로그램 (0)
이동통신 (6)
농업 (1)
IoT (8)
엑셀VBA (13)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

태그목록

글 보관함

달력

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today : Yesterday :