VBA宏脚本:使用vba宏在工作表1到工作表2的列中查找和复制唯一值

时间:2016-04-14 03:31:58

标签: vba excel-vba excel

我在同一个工作簿中有2张。在工作表A中称为“sheet1”,工作表B称为“sheet2”。从表1的A列开始,最多有176080个重复ID号的记录。需要从此列中找到唯一的ID号并将其粘贴到表2的A列中。

任何帮助将不胜感激,我是VBA宏的新手,并在线发现了一些代码,但不明白。请帮助我,并提供一个语法来解决这个问题,并提供一些解释,以便我自己也可以学习如何做到这一点。谢谢!

1 个答案:

答案 0 :(得分:1)

可能有点复杂,但这会在列#34; A"中找回唯一的数字。

Option Explicit
Dim i, j, count, lastrow As Integer
Dim number As Long

Sub find_unique()
    lastrow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
    For i = 1 To lastrow
        number = Cells(i, 1)
        For j = 1 To lastrow
            If number = Cells(j, 1) Then
                count = count + 1
            End If
        Next j
    If count = 1 Then
        Cells(i, 5) = number
    Else
        Cells(i, 5) = ""
    End If
    count = 0
    Next i
End Sub

首先,sub获取单元格A1然后遍历所有其他单元格,从第一个单元格开始,到活动工作表中的最后一个单元格。如果一个数字等于一个以上的单元格(它总是一个,因为你也用它自己的值检查单元格),那么这个数字将不会显示在E列中。然后它将采用下一个数字并循环遍历所有数字,直到检查每个数字。小的变化和数字将显示在另一张表中。希望它适合你。