본문 바로가기

엑셀로 풀어가는 세상

엑셀 VBA #51 / 중복데이터 처리_4 [VBA] - 사용자정의함수

엑셀 VBA #51 / 중복데이터 처리_4 [VBA] - 사용자정의함수

Sub 중복데이터삭제_단계2()

Dim rng As Range, rngX As Range
Dim i As Long, j As Long
Dim cntR As Long, cntC As Long
Dim strI As String, strJ As String

Set rng = Range("A3", Cells(Rows.Count, "D").End(xlUp))

cntR = rng.Rows.Count
cntC = rng.Columns.Count

For i = 1 To cntR - 1
      strI = fnMerge(rng, i)
      For j = i + 1 To cntR
                   strJ = fnMerge(rng, j)
                   If strI = strJ Then
                                  If rngX Is Nothing Then
                                       Set rngX = rng(j, "A").Resize(1, cntC)
                                  Else
                                       Set rngX = Union(rngX, rng(j, "A").Resize(1, cntC))
                                  End If
                   End If
       Next
Next

If rngX Is Nothing = 0 Then rngX.Delete
End Sub

Function fnMerge(rng As Range, i As Long) As String
Dim col As Long, k As Long
Dim str As String

col = rng.Columns.Count
    For k = 1 To col
        str = str & rng(i, k)                        '?????이해 안됨
    Next
 fnMerge = str
End Function

vba#51.xlsm
0.02MB


https://www.youtube.com/watch?v=EkGRLek1arM&list=PLfxvqpVCYZ8e0qlyc_FU46neoWjO7yTWj&index=51

 


엑셀 VBA #34 / 사용자정의 함수 [VBA]

엑셀 VBA #50 / 중복데이터 처리_3 [VBA]



 

 

반응형