-3

我需要帮助为 Excel 创建一个计算一列名称的宏。如果名称出现 2 次或多次,请删除重复项。如果出现少于 2 次,请从列表中完全删除该名称。有人可以帮忙吗?

例如,列:

  1. 约翰·史密斯
  2. 约翰·史密斯
  3. 简·史密斯
  4. 帕蒂·史密斯
  5. 吉姆·史密斯
  6. 吉姆·史密斯
  7. 吉姆·史密斯

宏变成后:

  1. 约翰·史密斯
  2. 吉姆·史密斯
4

1 回答 1

0

你可以试试这个..

假设它是单元格A1 ..您将在B列中获得结果..您可以在获得结果后删除C列..

Sub CheckOccurance()
Dim LastA, r As Range
Dim x, x2, Bn As Long
Dim s As String
Dim IsDoub As Boolean

Set LastA = Range("A65536").End(xlUp)
Bn = 1

For x = 1 To LastA.Row
  If Not Cells(x, 3) = "x" Then
    s = Cells(x, 1)
    Cells(x, 3) = "v"
    IsDoub = False
    For x2 = x + 1 To LastA.Row
      If Cells(x2, 1) = s Then
        Cells(x2, 3) = "x"
        IsDoub = True
      End If
    Next
    If IsDoub Then
      Cells(Bn, 2) = s
      Bn = Bn + 1
    End If
  End If
Next
End Sub
于 2013-06-26T09:27:57.607 回答