Excel宏以查找新数据

Excel宏以查找新数据,excel,vba,Excel,Vba,我试图开发一个宏,通过比较两个数据集(本年度和上一年度)来发现新数据。我在一个文件中有两个数据集,今年有一些条目,但去年没有。我需要编写一个宏来识别这些声明,并在单独的工作表中列出它们。 上一年度:A、B、C、D、E、F 本年度:A、Y、B、C、D、E、F。 在本例中,Y是新条目。因此,我需要创建一个宏来识别所有此类情况,并在另一张表中列出这些情况。请逐步完成这些工作 1) 上一年的数据在表2中的A列中如下图所示 2) 本年度数据在表3中与上一年度相同 3) 在名称Sheet4中创建一张工作

我试图开发一个宏,通过比较两个数据集(本年度和上一年度)来发现新数据。我在一个文件中有两个数据集,今年有一些条目,但去年没有。我需要编写一个宏来识别这些声明,并在单独的工作表中列出它们。 上一年度:A、B、C、D、E、F 本年度:A、Y、B、C、D、E、F。
在本例中,Y是新条目。因此,我需要创建一个宏来识别所有此类情况,并在另一张表中列出这些情况。

请逐步完成这些工作

1) 上一年的数据在
表2中
A列中
如下图所示

2) 本年度数据在
表3中
与上一年度相同

3) 在名称
Sheet4
中创建一张工作表,从中可以获得输出

4) 在
表3
中运行宏(假设您知道如何操作),代码如下

Sub findDiff()
Dim i As Long, j As Long, k As Long
j = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
k = Sheets("Sheet4").Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To Sheets("Sheet3").Cells(Rows.Count, "A").End(xlUp).Row
    If WorksheetFunction.CountIf(Sheets("Sheet2").Range("A2:A" & j), Sheets("Sheet3").Range("A" & i)) = 0 Then
        Rows(i).Copy Destination:=Sheets("Sheet4").Range("A" & (k + 1))
        k = Sheets("Sheet4").Cells(Rows.Count, "A").End(xlUp).Row
    End If
Next i
End Sub
5) 输出将写入
表4
,如下所示


希望这对您有所帮助。

您是否编写过任何代码,尝试过任何东西?如果没有任何示例或尝试编写的代码的任何部分,很难为您提供帮助。使用excel公式可以很容易地做到这一点。为什么您需要VBA来执行此操作?除非我们看到你的一些数据,否则我们将无法帮助你out@GowthamShiva:我需要一个代码,因为我需要在一张工作表中多次执行类似类型的活动。所以我认为写一段代码会很有用。@samiles:我试着记录宏,但不幸的是它没有起作用。我是新的编码,因此不能写一个自己