Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
Vba Excel-删除重复项、值的组合_Vba_Excel - Fatal编程技术网

Vba Excel-删除重复项、值的组合

Vba Excel-删除重复项、值的组合,vba,excel,Vba,Excel,感谢您花时间阅读我的问题,因为这可能已经发布了。假设我得到了这些数据,只想从两列中保留一个唯一的值并删除其他值,那么最简单的方法是什么 感谢您的关注,在无数的可能性中,您可以制作数据透视表。请参阅我的解释在无数的可能性中,您可以使用数据>数据工具>删除同时选中的两列上的重复项 您可以使用以下VBA代码: Sub RemoveDuplicates() Dim lastRow As Long, letters As Variant, arr As New Collection, i As Long

感谢您花时间阅读我的问题,因为这可能已经发布了。假设我得到了这些数据,只想从两列中保留一个唯一的值并删除其他值,那么最简单的方法是什么


感谢您的关注,

在无数的可能性中,您可以制作数据透视表。请参阅我的解释

在无数的可能性中,您可以使用数据>数据工具>删除同时选中的两列上的重复项


您可以使用以下VBA代码:

Sub RemoveDuplicates()
Dim lastRow As Long, letters As Variant, arr As New Collection, i As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row

letters = Range(Cells(1, 1), Cells(lastRow, 2))

On Error Resume Next
For i = 1 To lastRow
    arr.Add letters(i, 1) & letters(i, 2), letters(i, 1) & letters(i, 2)
Next

For i = 1 To arr.Count
    Cells(i, 3) = Left(arr(i), 1)
    Cells(i, 4) = Right(arr(i), 1)
Next
End Sub

要将唯一列表放置在列C和D中,请选择数据范围,然后使用数据、排序和筛选、高级筛选、复制到新位置、仅限唯一记录


是的,这是一个问题,我的问题是它们大约有34000条线。这意味着很多。数据透视表是为这类大型数据集而设计的。您的数据在最终报告中没有唯一的列,因此它只会显示组合中的唯一项。你甚至可以告诉它每种组合出现的次数。我现在告诉大家我是多么喜欢Excel表格功能Insert>Table。无论何时添加行,使用Excel表格都会使源数据增长;只要点击数据透视表上的刷新按钮就可以获取新的值。答案很好,我真的很喜欢使用Excel。谢谢,为什么不使用两列删除重复项?哇,这样效果更好。答案经过编辑以避免引起误解。这就是如何使用收藏。这只是Dim arr的简写,因为收藏集arr=新收藏我喜欢它。为什么您的arr.Add有两个输入?要避免速记!