VBA IF заявление пропускается - PullRequest
0 голосов
/ 04 декабря 2018

Я играл с этим очень простым кодом и был совершенно сбит с толку.Ниже приведены три различных варианта, которые я попробовал, чтобы выяснить проблему, и ни один не помог.

Исходный код:

Sub GetResults()

Set Result = ActiveWorkbook.Worksheets("Results")
Set UTDT = ActiveWorkbook.Worksheets("UTDT")
Set RADAR = ActiveWorkbook.Worksheets("RADAR")

Dim y As Long
Dim i As Long
Dim x As Long

For x = 2 To RADAR.UsedRange.Rows.Count
For i = 2 To UTDT.UsedRange.Rows.Count
For y = 2 To Result.UsedRange.Rows.Count


If UTDT.Cells(i, 1) = RADAR.Cells(x, 1) And UTDT.Cells(i, 25) <> RADAR.Cells(x, 2) Then
Result.Cells(y, 1) = Trim(UTDT.Cells(i, 1))
Result.Cells(y, 2) = UTDT.Cells(i, 2)
Result.Cells(y, 3) = UTDT.Cells(i, 3)
Result.Cells(y, 4) = "Update"
End If

Next y
Next i
Next x

End Sub

Затем я удаляю часть and и добавляю окно сообщения, чтобы упростить его:

Sub GetResults()

Set Result = ActiveWorkbook.Worksheets("Results")
Set UTDT = ActiveWorkbook.Worksheets("UTDT")
Set RADAR = ActiveWorkbook.Worksheets("RADAR")

Dim y As Long
Dim i As Long
Dim x As Long

For x = 2 To RADAR.UsedRange.Rows.Count
For i = 2 To UTDT.UsedRange.Rows.Count
For y = 2 To Result.UsedRange.Rows.Count


If UTDT.Cells(i, 1) = RADAR.Cells(x, 1) Then
MsgBox ("It WORKED!")
 End If

Next y
Next i
Next x

End Sub

Все еще пропускает оператор IF.Поэтому я решил изменить его на <> в случае его пропуска, потому что невидимое форматирование приводит к тому, что оно ложное ... но все равно не повезло:

Sub GetResults()

Set Result = ActiveWorkbook.Worksheets("Results")
Set UTDT = ActiveWorkbook.Worksheets("UTDT")
Set RADAR = ActiveWorkbook.Worksheets("RADAR")

Dim y As Long
Dim i As Long
Dim x As Long

For x = 2 To RADAR.UsedRange.Rows.Count
For i = 2 To UTDT.UsedRange.Rows.Count
For y = 2 To Result.UsedRange.Rows.Count


If UTDT.Cells(i, 1) <> RADAR.Cells(x, 1) Then
MsgBox ("It WORKED!")
 End If

Next y
Next i
Next x

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...