728x90

같은 셀에서 줄바꿈(vbLf) 되어 있는 셀내에서 중복이 발생한 것은 제거를 하는 VBA 코드다.


Sub RemoveDuplicate_InCell()
    Dim rngC As Range, Dat As Variant, X As New Collection
    Dim tmp As String, i&
    On Error Resume Next
    For Each rngC In Range([A2], Cells(Rows.Count, "A").End(3)).SpecialCells(2)
        Dat = Split(rngC, vbLf)
        Set X = Nothing
        For i = 0 To UBound(Dat)
            X.Add rngC.Value, CStr(Dat(i))    '// 중복된 데이터는 저장하지 마라
            If Err.Number <> 457 Then    '// 만일 에러가 발생하지 않았으면
                If i = 0 Then
                    tmp = Dat(i)
                Else
                    tmp = tmp & vbLf & Dat(i)
                End If
            End If
            Err.Clear
        Next i
        rngC.Offset(, 1) = tmp
        tmp = vbNullString      '// 셀이 변경될 때 임시변수 초기화
    Next rngC
End Sub

블로그 이미지

Link2Me

,