Vba 将一个工作表中的单元格与另一个工作表中的列进行比较,并在第三个工作表中打印行

Vba 将一个工作表中的单元格与另一个工作表中的列进行比较,并在第三个工作表中打印行,vba,excel,Vba,Excel,我是Excel宏新手,需要帮助创建一个宏,这将对我的工作有很大帮助 我有两个零件清单,在单独的工作表中,两个都用于相同的应用程序,但一个是旧零件清单,另一个是新版本。有时零件列表中可能有一千个零件 我需要对它们进行比较,看看新的零件清单中是否增加了任何内容,以及是否从旧清单中删除了任何内容。 然后将添加的零件行复制到单独的工作表(标题为“添加”)中,将删除的零件复制到标题为“删除”的工作表中 在进行比较之前,还要从列表中删除重复项,因为有时会有重复的零件号。必须删除整行 所以基本上我想知道是否有

我是Excel宏新手,需要帮助创建一个宏,这将对我的工作有很大帮助

我有两个零件清单,在单独的工作表中,两个都用于相同的应用程序,但一个是旧零件清单,另一个是新版本。有时零件列表中可能有一千个零件

我需要对它们进行比较,看看新的零件清单中是否增加了任何内容,以及是否从旧清单中删除了任何内容。 然后将添加的零件行复制到单独的工作表(标题为“添加”)中,将删除的零件复制到标题为“删除”的工作表中

在进行比较之前,还要从列表中删除重复项,因为有时会有重复的零件号。必须删除整行

所以基本上我想知道是否有办法在新列表中取一个单元格,从B1开始,并从B1开始,一个一个地与旧零件列表中的B列进行比较

如果有匹配项,则移动新列表上的下一个零件号

如果没有,如到达空白单元格,则将零件号行复制到新的工作表“Additions”中


反之亦然,将旧零件列表与新零件列表进行比较,如果没有匹配项,则将该行复制到“已删除”的工作表中。

如注释所述,如果不查看您已经尝试过的内容,则很难为您提供帮助。首先,我建议您使用宏记录器学习一些基本知识,如在单元格之间移动、切换工作表、复制值等

我能想到的宏记录器无法教你的两个组件是for循环和if语句

for循环允许您在一系列值上“循环”,并对每个单元格执行一次操作,if语句允许您仅在满足条件(如两个单元格相等)时执行操作(如复制单元格)

简单的版本可能类似于:

For i = 1 To 10
    If Sheets(2).Range("A" & i).Value <> Sheets(1).Range("A" & i).Value Then
        Sheets(3).Range("A" & i).Value = Sheets(2).Range("A" & i).Value
    End If
Next i
用于i=1到10
如果表(2).范围(“A”&i).值表(1).范围(“A”&i).值,则
表(3).范围(“A”和i).值=表(2).范围(“A”和i).值
如果结束
接下来我
我知道这是一个过度简化,但希望它能帮助你开始。祝你好运