0

表は各項目のキーワードを表しています。キーワードは各アイテムの重複したエントリを持ち、1 つのキーワードが 1 つのセルに配置され、アイテムごとに異なる数のキーワードを持つことができます。Excel の各項目の重複を削除するにはどうすればよいですか。

例:
アイテム キーワード
A -> 123 234 456 123 234
B -> 23 456 23 567

重複するキーワードを削除すると、次のようになります:
アイテム キーワード
A -> 123 456 234
B -> 23 456 567

4

1 に答える 1

1

各列にキーワードが含まれていると仮定すると、これは設定可能な範囲内の行に適用され、その行に複数回出現するキーワードはすべて削除されます。

Sub DeleteDuplicateKeywords()

Dim rng As Range
Dim r As Long 'row iterator
Dim rowRng As Range ' a separate range for each ROW in rng.
Dim c As Long 'column iterator
Dim sKeyword As String
Dim bReview As Boolean

bReview = MsgBox("Do you want to preview which cells will be deleted?", vbYesNo)

Set rng = Range("B13:E18") '<-- change this as necessary for your requirements.

For r = 1 To rng.Rows.Count  'iterate over each ROW in the range

    Set rowRng = rng.Rows(r)

    For c = rowRng.Columns.Count To 1 Step -1 'iterate backwards over the columns, ignoring the first column.

        sKeyword = rowRng.Cells(c).Value 'assign the cell value to a variable

        'Check to see if this keyword exists more than once in this row
        If Application.WorksheetFunction.CountIf(rowRng, sKeyword) > 1 Then
            'if it does, then delete it.
            If bReview Then
                rowRng.Cells(c).Interior.ColorIndex = 39
            Else:
                rowRng.Cells(c).Delete Shift:=xlToLeft
            End If
        End If
    Next
Next

End Sub
于 2013-03-25T00:18:23.507 に答える