Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 删除表中的重复单元格_Excel_Openoffice Calc_Vba - Fatal编程技术网

Excel 删除表中的重复单元格

Excel 删除表中的重复单元格,excel,openoffice-calc,vba,Excel,Openoffice Calc,Vba,我搜索了一种方法,通过一个表删除重复的单元格,整个表只剩下一个唯一的元素。 问题是它不是一个元素列表(列中),而是它们在表中分布。 我发现的任何内容都会删除列中的重复项,或使用换位表删除行中的重复项。我发现没有任何东西可以同时删除不同列和行中的任何副本。 我看到excel中重复项的条件格式(选择整个表)会导致每个要格式化的多个元素。事实上,我无法删除所有格式正确的单元格,因为我需要每个单元格对应一个元素。 我该怎么做?我猜“普通”excel和任何电子表格软件都是不够的,我需要使用VBA for

我搜索了一种方法,通过一个表删除重复的单元格,整个表只剩下一个唯一的元素。
问题是它不是一个元素列表(列中),而是它们在表中分布。
我发现的任何内容都会删除列中的重复项,或使用换位表删除行中的重复项。我发现没有任何东西可以同时删除不同列和行中的任何副本。
我看到excel中重复项的条件格式(选择整个表)会导致每个要格式化的多个元素。事实上,我无法删除所有格式正确的单元格,因为我需要每个单元格对应一个元素。
我该怎么做?我猜“普通”excel和任何电子表格软件都是不够的,我需要使用VBA for excel或其他什么吗?

我还考虑过使用类似MS Word的东西来删除重复项,但元素上有空格,有时它们有可能破坏结果的确切“形容词”,这就是为什么我需要可以删除整个单元格的东西。

假设我们从如下表开始:

此短宏循环遍历表中的所有单元格,并清除包含多次出现的值的单元格:

Sub DupKiller()
    Dim rng As Range, r As Range

    Set rng = Range("A1:J21")

    For Each r In rng
        If Application.WorksheetFunction.CountIf(rng, r) > 1 Then r.Clear
    Next r
End Sub

该例程既适用于文本,也适用于数字