У меня есть два столбца с данными ниже:

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 ответ1

0

К вашему сведению, вы можете использовать формулу для этого, 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .