我正在尝试使用以下代码比较不同工作表上的两列:
For i = 2 To lastRow22
For j = 2 To lastRow33
If ws2.Cells(i, 81) = ws3.Cells(j, 10) Then
ws2.Cells(i, 1).Interior.Color = vbGreen
End If
Next j
Next I
我知道列中的项目匹配,但循环似乎找不到匹配项。我进一步检查了这些色谱柱,在一张纸上,柱状细胞都带有撇号,另一张则没有。
我尝试使用以下代码循环遍历工作表并删除撇号,但它不起作用:
For i = 2 To lastRow33
If ws3.Cells(i, 10) Like "'*" Then
x = Replace(ws2.Cells(i, 1), "'", "")
ws3.Cells(i, 10) = x
End If
Next I
关于我可以做些什么来获得比赛的提示?
答案 0 :(得分:1)
在比较之前使用Cstr
将所有内容转换为字符串。这适用于字符串和数字,因此没有类型不匹配错误。
最终代码:
For i = 2 To lastRow22
For j = 2 To lastRow33
If Cstr(ws2.Cells(i, 81)) = Cstr(ws3.Cells(j, 10)) Then
ws2.Cells(i, 1).Interior.Color = vbGreen
End If
Next j
Next i