Проблемы с выходом из цикла - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь написать оператор if или if для сравнения ячеек в шести строках (A1 сравнивается с B1, B1 с C1 и т. Д. И т. Д.).Каким-то образом мое утверждение if или, похоже, не работает.Может кто-нибудь помочь и проверить мой код, пожалуйста?

Dim I As Byte

I = 2



If Range("b" & I) - Range("c" & I) > 0 _
Or Range("c" & I) - Range("d" & I) > 0 _
Or Range("d" & I) - Range("e" & I) > 0 _
Or Range("e" & I) - Range("f" & I) > 0 _
Or Range("f" & I) - Range("g" & I) > 0 _
Then

Range("h" & I).Value = y


Else

Range("h" & I).Value = N
End If

I = I + 1

Follow Up, проблема теперь решена, спасибо за помощь всем!

ThisWorkbook.Activate
Sheet1.Activate

Dim i As Long
Dim theColumn As Long
Dim LastCell As Long
LastCell = Range("b" & Rows.Count).End(xlUp).Row
Range("H2:H" & Cells(Rows.Count, "h").End(xlUp).Row).ClearContents
i = 1
Do

i = i + 1
For theColumn = 2 To 6
    Dim higher As Boolean
    higher = Cells(i, theColumn).Value - Cells(i, theColumn + 1).Value > 0
    If higher Then Exit For
Next

Cells(i, "H").Value = higher
If i = LastCell Then Exit Do
Loop

MsgBox "Analysis Completed"

1 Ответ

3 голосов
/ 08 апреля 2019

Это может быть немного легче переварить:

Dim theColumn as Long

For theColumn = 2 to 6 'compare columns B-G
    Dim higher as Boolean
    higher = Cells(I,theColumn).Value - Cells(I,theColumn+1).Value > 0
    If higher Then Exit For
Next

Cells(I,"H").Value = higher
'Cells(I,"H").Value = Iif(higher,"Y","N")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...