/ / Excel VBA에서 중복 제거

Excel VBA에서 중복 제거

아래에서 우리는 Excel VBA중복을 제거합니다..

상태:

A 열에는 10 개의 숫자가 있습니다. 이 번호에서 중복을 제거하고 B 열에 고유 번호를 넣을 것입니다.

Excel VBA에서 중복 제거

1. 먼저, 네 개의 변수를 선언합니다. 부울 유형의 toAdd, Integer 유형의 uniqueNumbers, Integer 유형의 i 및 Integer 유형의 j.

Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer

2. 다음으로 첫 번째 숫자는 항상 "고유"이므로 첫 번째 숫자 인 A 열을 B 열에 씁니다.

Cells(1, 2).Value = Cells(1, 1).Value

3. 두 변수를 초기화합니다. 우리는 방금 B 열에 하나의 숫자를 추가 했으므로 uniqueNumbers를 값 1로 초기화합니다. 다음 숫자를 추가해야한다고 가정 할 때 toAdd를 True로 설정합니다 (물론 이것은 반드시 사실 일 필요는 없습니다).

uniqueNumbers = 1
toAdd = True

두 번째 번호가 "고유"한지 여부를 결정해야합니다. 이것은 매우 쉬운 방법으로 수행 될 수 있습니다. 숫자가 B 열에 아직없는 경우에만 두 번째 숫자를 B 열에 추가해야합니다.

4. 세 번째 숫자, 네 번째 숫자 등도 확인해야합니다. 이를 위해 For Next 루프를 시작합니다.

For i = 2 To 10

5. 이제는 프로그램의 가장 중요한 부분이되었습니다. 두 번째 숫자가 B 열의 숫자 중 하나와 같으면 (지금까지 고유 숫자가 하나뿐입니다)이 경우에는이 숫자를 추가하지 않으므로 False로 설정합니다 (고유하지 않음). ") uniqueNumbers는 여전히 1이지만 uniqueNumbers는 전체 목록이 될 수 있습니다.이 전체 목록을 확인하려면 For Next 루프가 필요합니다. 다시 추가 할 숫자가 숫자 중 하나와 같은 경우 이 목록에서 toAdd는 False로 설정되고 번호는 추가되지 않습니다. 다음 코드 행을 추가하십시오.

For j = 1 To uniqueNumbers
    If Cells(i, 1).Value = Cells(j, 2).Value Then
        toAdd = False
    End If
Next j

6. toAdd가 True이고 False로 설정되지 않은 경우에만 Excel VBA는 B 열에 숫자를 추가해야합니다. 동시에 하나의 고유 번호가 있으므로 uniqueNumbers를 1 씩 늘립니다. 다음 코드 줄은 작업을 완료합니다.

If toAdd = True Then
    Cells(uniqueNumbers + 1, 2).Value = Cells(i, 1).Value
    uniqueNumbers = uniqueNumbers + 1
End If

7. 마지막으로 다음 번호 (세 번째 숫자)를 추가해야한다고 가정하고 toAdd를 True로 설정합니다. 다시 이것은 반드시 사실 일 필요는 없습니다.

toAdd = True

8. 루프를 닫지 마십시오.

Next i

9. 매크로를 명령 단추에 놓고 테스트하십시오.

결과:

중복 결과 제거

또한 읽으십시오 :