删除重复的单元格(Microsoft Excel)
我无法告诉您从某个程序或某人接收到原始数据的次数,而我要做的第一件事就是从列表中删除重复项。如果您遇到相同的情况,下面的宏将对您有很大帮助:
Sub DelDups() Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer, K As Integer Application.ScreenUpdating = False Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column 'Start wiping out duplicates For J = ThisRow To (ThatRow - 1) If Cells(J, ThisCol) > "" Then For K = (J + 1) To ThatRow If Cells(J, ThisCol) = Cells(K, ThisCol) Then Cells(K, ThisCol) = "" End If Next K End If Next J 'Remove cells that are empty For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = "" Then Cells(J, ThisCol).Delete xlShiftUp End If Next J Application.ScreenUpdating = True End Sub
宏在调用之前对您所做的选择起作用。因此,如果需要从范围C15:C59中删除重复的单元格,只需选择该范围,然后运行宏即可。如果您在该范围内选择了多个列(例如C15:E59),则仅影响该范围的第一列。宏完成后,将删除重复的单元格以及所有空白单元格。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2109)适用于Microsoft Excel 97、2000、2002和2003。