excel中删除重复数据
程序员文章站
2022-04-13 23:13:49
...
今天碰到的一个问题,删除重复数据,这里做个记录。
一列数据,有很多重复项目,现在需要删除重复的,如下图所示:
简单的方法是,选中该列,
工具栏“数据”项目中选择“删除重复项”:
按下确定:
按下确定完成重复项目的清理:
那么从vba的角度如何删除数据:
测试用添加数据如下:
Sub addData() '
Dim i As Long
Dim j As Integer
Dim rndID As Long
Dim rndHex As String
Dim rndValue As String
Randomize
For i = 2 To 10000
rndValue = ""
For j = 1 To 4
rndID = Rnd() * 25 + 65
rndHex = Chr(rndID)
rndValue = rndValue & rndHex
Next
Sheets("Sheet1").Range("A" & i).Value = rndValue
Next
End Sub
获得不重复的数据代码如下:
Sub getData()
Dim i As Long
Dim currentValue As String
Dim pos As Long
pos = 3
For i = 2 To 10000
currentValue = Sheets("Sheet1").Range("A" & i).Value
If i > 2 Then
Set c = Sheets("sheet1").Range("A2:A" & CStr(i - 1)).Find(currentValue)
If c Is Nothing Then
Sheets("Sheet1").Range("B" & pos).Value = currentValue
pos = pos + 1
End If
Else
Sheets("Sheet1").Range("B" & pos).Value = currentValue
End If
DoEvents
Next
End Sub
需要注意的是:代码中加入 DoEvents,数据量大的时候,防止假死。
采用excel本身提供的“删除重复项”功能速度比代码快得多,但是不易控制。用vba更能适应更多的情况。
学习更多vb.net知识,请参看vb.net
教程 目录