自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。图1使用VBA,可以自动执行这样的操作,删除工作表所有数据列中的重复行,或者指定列的重复行。下面的Excel VBA代码,用于删除特定工作表所有列中的所有重复行。Sub
DeDupeCols() Dim rng As Range Dim i As Integer Dim Cols As Variant Set rng = [A1].CurrentRegion ReDim Cols(0 To rng.Columns.Count - 1) For i = 0 To UBound(Cols) Cols(i) = i + 1 Next i rng.RemoveDuplicates Columns:=(Cols),
Header:=xlYesEnd
Sub这里使用了当前区域,假设标题位于第一行。如果没有标题行,则删除代码后面的部分。如果只想删除指定列(例如第1、2、3列)中的重复项,那么可以使用下面的代码:Sub
DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array(1, 2,
3), Header:=xlYesEnd
Sub可以修改代码中代表列的数字,以删除你想要的列中的重复行。这点很有用。注:本文学习整理自thesmallman.com,略有修改,供有兴趣的朋友参考。