2013-06-25 35 views
-3

我需要帮助创建一个宏的Excel计数一列的名称。如果有两个或更多的名称出现,请删除重复项。如果少于2次,则从列表中删除名称。有人可以帮忙吗?Excel宏来排序名称,只包含x的名称

例如,列:

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

宏后变为:

  1. 约翰·史密斯
  2. 吉姆·史密斯
+0

-1不要尝试。告诉我们你已经尝试过了。 SO并不是你得到勺子代码的地方。 – ApplePie

回答

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 
+0

这工作,非常感谢。对不起,我不是电脑程序员:(我刚刚搜索帮助,这是我登陆的地方。 – user2521820