我有两列包含以下数据:
DATA_TYPE DATA_TYPE Result
VARCHAR2 VARCHAR2 1
NUMBER NUMBER 1
VARCHAR2 NUMBER 1
我正在使用下面的代码对两列进行比较,但结果应该是, 1,1,0
但我得到的结果是1,1,1
。
检查下面的代码并告诉我我的错误是什么。
For j = 2 To Workbooks("Compare_Sheets").Worksheets("Temp3").Range("A" & Rows.Count).End(xlUp).Row
If Workbooks("Compare_Sheets").Worksheets("Temp3").Cells(j, 2).Value = Workbooks("Compare_Sheets").Worksheets("Temp3").Cells(j, 11).Value Then
Workbooks("Compare_Sheets").Worksheets("Temp3").Cells(j, 20).Value = "1"
Else
Workbooks("Compare_Sheets").Worksheets("Temp3").Cells(j, 20).Value = "0"
End If
Next J
提前致谢
答案1
仅供参考,您可以使用公式来实现这一点,不需要 VBA:
=INT($B2=$K2)
或者,在 VBA 中:
Sub t2()
Dim j As Long, lastRow As Long
lastRow = Workbooks("Compare_Sheets").Worksheets("Temp3").Range("A" & Rows.Count).End(xlUp).Row
For j = 2 To lastRow
With Workbooks("Compare_Sheets").Worksheets("Temp3")
.Cells(j, 20).Value = Evaluate(Abs(Int(.Cells(j, 2).Value = .Cells(j, 11).Value)))
End With
Next j
End Sub