Note: The other languages of the website are Google-translated. Back to English

Word 문서의 표에서 중복 행을 제거하는 방법은 무엇입니까?

Word 문서에는 제거하고 때때로 첫 번째 모양을 유지하려는 중복 행이있는 일부 테이블이있을 수 있습니다. 이 경우 중복 항목을 하나씩 수동으로 제거하도록 선택할 수 있으며 VBA 코드를 사용하도록 선택할 수도 있습니다.

Word의 표에서 중복 행 제거


Word의 표에서 중복 행 제거

1. 중복 행을 제거하려는 테이블에 커서를 놓고 Alt + F11 활성화하는 키 응용 프로그램 용 Microsoft Visual Basic 창.

2. 클릭 끼워 넣다 > 모듈 새 모듈을 만듭니다.
doc 중복 행 제거 table01

3. 아래 코드를 복사하여 새 모듈 스크립트.

VBA : Word의 표에서 중복 행 제거

Public Sub DeleteDuplicateRows2()
'UpdatebyExtendoffice20181011
    Dim xTable As Table
    Dim xRow As Range
    Dim xStr As String
    Dim xDic As Object
    Dim I, J, KK, xNum As Long
    If ActiveDocument.Tables.Count = 0 Then
        MsgBox "This document does not have table(s).", vbInformation, "Kutools for Word"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Set xDic = CreateObject("Scripting.Dictionary")
    If Selection.Information(wdWithInTable) Then
        Set xTable = Selection.Tables(1)
        For I = xTable.Rows.Count To 1 Step -1
            Set xRow = xTable.Rows(I).Range
            xStr = xRow.Text
            xNum = -1
            If xDic.Exists(xStr) Then
'                xTable.Rows(I).Delete
                For J = xTable.Rows.Count To 1 Step -1
                    If (xStr = xTable.Rows(J).Range.Text) And (J <> I) Then
                        xNum = xNum + 1
                        xTable.Rows(J).Delete
                    End If
                Next
                I = I - xNum
            Else
                xDic.Add xStr, I
            End If
        Next
    Else
        For I = 1 To ActiveDocument.Tables.Count
            Set xTable = ActiveDocument.Tables(I)
            xNum = -1
            xDic.RemoveAll
            For J = xTable.Rows.Count To 1 Step -1
                Set xRow = xTable.Rows(J).Range
                xStr = xRow.Text
                xNum = -1
                If xDic.Exists(xStr) Then
    '                xTable.Rows(I).Delete
                    For KK = xTable.Rows.Count To 1 Step -1
                        If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) Then
                            xNum = xNum + 1
                            xTable.Rows(KK).Delete
                        End If
                    Next
                    J = J - xNum
                Else
                    xDic.Add xStr, J
                End If
            Next
        Next
    End If
    Application.ScreenUpdating = True
End Sub

doc 중복 행 제거 table02

4. 프레스 F5 키를 눌러 코드를 실행하면 모든 중복 행이 제거됩니다.
doc 중복 행 제거 table03

주의 사항: 위 코드는 대소 문자를 구분하며, 대소 문자를 구분하지 않는 중복 행을 제거하려면 아래 코드를 사용할 수 있습니다.

Public Sub DeleteDuplicateRows2()
'UpdatebyExtendoffice20181011
    Dim xTable As Table
    Dim xRow As Range
    Dim xStr As String
    Dim xDic As Object
    Dim I, J, KK, xNum As Long
    If ActiveDocument.Tables.Count = 0 Then
        MsgBox "This document does not have table(s).", vbInformation, "Kutools for Word"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Set xDic = CreateObject("Scripting.Dictionary")
    If Selection.Information(wdWithInTable) Then
        Set xTable = Selection.Tables(1)
        For I = xTable.Rows.Count To 1 Step -1
            Set xRow = xTable.Rows(I).Range
            xStr = UCase(xRow.Text)
            xNum = -1
            If xDic.Exists(xStr) Then
'                xTable.Rows(I).Delete
                For J = xTable.Rows.Count To 1 Step -1
                    If (xStr = xTable.Rows(J).Range.Text) And (J <> I) Then
                        xNum = xNum + 1
                        xTable.Rows(J).Delete
                    End If
                Next
                I = I - xNum
            Else
                xDic.Add xStr, I
            End If
        Next
    Else
        For I = 1 To ActiveDocument.Tables.Count
            Set xTable = ActiveDocument.Tables(I)
            xNum = -1
            xDic.RemoveAll
            For J = xTable.Rows.Count To 1 Step -1
                Set xRow = xTable.Rows(J).Range
                xStr = UCase(xRow.Text)
                xNum = -1
                If xDic.Exists(xStr) Then
    '                xTable.Rows(I).Delete
                    For KK = xTable.Rows.Count To 1 Step -1
                        If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) Then
                            xNum = xNum + 1
                            xTable.Rows(KK).Delete
                        End If
                    Next
                    J = J - xNum
                Else
                    xDic.Add xStr, J
                End If
            Next
        Next
    End If
    Application.ScreenUpdating = True
End Sub

문서의 모든 테이블에서 중복 행을 제거하려면 테이블 외부의 문서 위치에 커서를 놓은 다음 위 코드 중 하나를 적용하십시오.


Firefox, Chrome, Internet Explore 10과 같은 여러 Word 문서 / Excel 통합 문서를 탭 브라우징 및 편집!

Firefox / Chrome / IE에서 여러 웹 페이지를보고 해당 탭을 쉽게 클릭하여 전환하는 방법에 익숙 할 수 있습니다. 여기서 Office Tab은 유사한 처리를 지원하므로 하나의 Word 창 또는 Excel 창에서 여러 Word 문서 또는 Excel 통합 문서를 탐색하고 탭을 클릭하여 쉽게 전환 할 수 있습니다.
Office Tab 무료 평가판을 클릭하십시오!

Firefox로 한 창에서 여러 단어 문서 검색

추천 단어 생산 도구

 

Word용 Kutools - Word용 100개 이상의 고급 기능으로 50% 시간 절약

  • 복잡하고 반복되는 작업은 몇 초 만에 한 번 처리 할 수 ​​있습니다.
  • 여러 폴더의 이미지를 한 번에 Word 문서에 삽입합니다.
  • 폴더에있는 여러 Word 파일을 원하는 순서대로 하나로 병합하고 결합합니다.
  • 제목, 섹션 나누기 또는 기타 기준에 따라 현재 문서를 별도의 문서로 분할합니다.
  • Doc과 Docx, Docx와 PDF, 일반적인 변환 및 선택을위한 도구 모음 등의 파일 변환 ...
코멘트 (0)
아직 평가가 없습니다. 가장 먼저 평가하세요!
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호