我是VBA的新用户,我编写了以下基本代码,以便在一个工作表中消除重复数据并将唯一数据提取到另一个工作表中。
例如:
我会感激任何帮助。
代码:
Sub Take_Unique()
Workbooks("historicaldata.xls").Activate
Dim i As String
Dim xrow As Long
xrow = 2
Do Until Sheet1.Cells(xrow, 1) = ""
If Sheet1.Cells(xrow, 1).Value = Sheet1.Cells(xrow + 1, 1) Then
Sheet12.Cells(xrow, 1).Value = Sheet1.Cells(xrow, 1)
End If
xrow = xrow + 1
Loop
End Sub
答案 0 :(得分:2)
另一种方法是duplicate master addin。
它处理空白,大小写敏感甚至正则表达式匹配 - 因此它超出了默认比较。
答案 1 :(得分:1)
将整个列从sheet1复制到sheet12更简单:
Sheet1.Columns(1).Copy Destination:=Sheet12.Columns(1)
然后使用RemoveDuplicates
功能删除任何重复项(如果Header存在则设置Header,如果不存在则设置Header)
Sheet12.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlYes