比较excel中的两列,查看值是否相同

比较excel中的两列,查看值是否相同,excel,vba,Excel,Vba,此图显示了前面的示例 代码的目标是查看第1列第一个单元格的值,然后通过向下搜索第4列来查找相同的值。对于第1列中的第一个单元格,它将是蜂蜜,第4列中的对应行是6。然后,它将复制第5列和第6列中与第4列中的蜂蜜对应的值,并将其放入第2列和第3列中与第1列中的蜂蜜对应的行中。每当第2列或第3列中的单元格被填充时,它将被涂成蓝色。我不知道如何使用正确的语法将一个单元格中的字符串设置为另一个单元格中的字符串,并确定该单元格是否为空 此图显示了后面的内容。 子检查列() 'j确定列1的行。n确定列4'的

此图显示了前面的示例

代码的目标是查看第1列第一个单元格的值,然后通过向下搜索第4列来查找相同的值。对于第1列中的第一个单元格,它将是蜂蜜,第4列中的对应行是6。然后,它将复制第5列和第6列中与第4列中的蜂蜜对应的值,并将其放入第2列和第3列中与第1列中的蜂蜜对应的行中。每当第2列或第3列中的单元格被填充时,它将被涂成蓝色。我不知道如何使用正确的语法将一个单元格中的字符串设置为另一个单元格中的字符串,并确定该单元格是否为空

此图显示了后面的内容。

子检查列()
'j确定列1的行。n确定列4'的行
作为整数的Dim j
作为整数的Dim n
j=1
n=1
'第一部分是Do While循环,用于检查
“牢房里装满了什么东西。如果不是,那么代码就不会运行。”
Do While单元格(j,1)。值不是vbNullString
'下一部分确定第1列和第2列中的第一个单元格
'第4列的第一个单元格相同。如果他们不是,那么它会的
'在第4列中搜索具有相同值的单元格。n表示行
'和Do INTIL循环将确定第4列中的哪一行
'的值与我们在第1列中查看的单元格的值相同
if单元(j,1)NotEqual单元(n,4)
直到单元(j,1)与单元(n,4)相等
n=n+1
终点
'下一个if语句首先确定行的第2列是否为
“查看已经有了价值。如果没有,则该单元格为空
'填充为的相应行第5列中的任何值
'第4列,其中包含n。对于第3列,使用
"第六栏。
如果是单元格(j,2).Value vbNullString则
单元(j,2)=单元(n,5)
单元格(j,2)。内部颜色指数=5
如果结束
如果是单元格(j,3)。则值为vbNullString
单元(j,3)=单元(n,6)
单元格(j,3)。内部颜色指数=5
如果结束
'下面的else语句适用于单元格值从
'该行的第1列等于该行第4列的单元格值
'同一行,因此j和n相等。
其他的
如果单元格(j,2).值vbNullString Else
单元(j,2)=单元(n,5)
单元格(j,2)。内部颜色指数=5
如果结束
如果单元格(j,3).值vbNullString Else
单元(j,3)=单元(n,6)
单元格(j,3)。内部颜色指数=5
如果结束
如果结束
'检查完第1列中的第一行后。然后它将查看
“第二排。
j=j+1
终点
端接头

将此公式放入B2:

=VLOOKUP(A2,$D$2:$F$7,2,FALSE)
然后把这个公式放到C2中:

=VLOOKUP(A2,$D$2:$F$7,3,FALSE)
A2是要在D列中搜索的值 $D$2:$F$7创建要搜索的静态表 2或3是表中要返回的列(从表的第一列开始) False要求在搜索中完全匹配


将它们放入单元格后,将其向下拖动。

对颜色使用VLOOKUP???和条件格式?
=VLOOKUP(A2,$D$2:$F$7,3,FALSE)