|
A |
B |
2 |
MX-30, MX-30, MX-30, MX-31, MX-32 |
|
3 |
MX-30, MX-31, MX-32 |
A3: =TRE(A2) |
Function TRE(sInp As String) As String
Dim asInp() As String
asInp = Split(Replace(sInp, " ", ""), ",")
DeDup asInp
TRE = Join(asInp, ", ")
End Function
Function DeDup(av As Variant)
' shg 2012
' Removes duplicates in situ from the sorted dynamic array av
Dim iLB As Long ' lower bound of av
Dim iUB As Long ' upper bound of av
Dim iW As Long ' write pointer
Dim iR As Long ' read pointer
iLB = LBound(av)
iUB = UBound(av)
iW = iLB
iR = iW + 1
Do While iR <= iUB
If av(iW) <> av(iR) Then
iW = iW + 1
av(iW) = av(iR)
End If
iR = iR + 1
Loop
ReDim Preserve av(iLB To iW)
End Function
Bookmarks