操作前
操作前1 操作前2理想效果
理想效果1 理想效果2宏代码
Sub 对比两个sheet()
'
' 对比两个sheet,查出同一列哪些值是相同的,哪些是新增的
'
For i = 2 To Sheet1.UsedRange.Rows.Count
For j = 2 To Sheet2.UsedRange.Rows.Count
If (Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 1).Value) Then
Sheet1.Cells(i, 2).Value = "是"
End If
Next
Next
For j = 2 To Sheet2.UsedRange.Rows.Count
For i = 2 To Sheet1.UsedRange.Rows.Count
If (Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 1).Value) Then
Sheet2.Cells(j, 2).Value = "否"
End If
Next
Next
End Sub
相关注释
从第二行开始对比
For i = 2 To Sheet1.UsedRange.Rows.Count For j = 2 To Sheet2.UsedRange.Rows.Count
对比第一列值
If (Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 1).Value)
相同则设置sheet1的第二列值为是
Sheet1.Cells(i, 2).Value = "是"
扩展
我们可以在第二列设置初值,比方说sheet1第二列设置初值为否,那么我们运行宏之后,整个就填写完毕了,效果就是这样的
设置初值另外我们也可以对比同时对比多列,如同时对比2,3,4列,我们可以这样写if语句
If (Sheet1.Cells(i, 2).Value = Sheet2.Cells(j, 2).Value ) And (Sheet1.Cells(i, 3).Value = Sheet2.Cells(j, 3).Value ) And (Sheet1.Cells(i, 4).Value = Sheet2.Cells(j, 4).Value ) Then
Sheet1.Cells(i, 5).Value = "是"
更多扩展请结合自己的实际情况
网友评论