Вы не можете оценивать ячейки в диапазоне одновременно - вам нужно пройти каждую ячейку в диапазоне и оценить одну за другой.Это можно сделать с помощью цикла for
(подумайте для каждой из ячеек от R5 до R20, найдите значение «Fail» ).Замените следующие строки:
If Range("R5:R20").Value = "Fail" Then
Sheets("Bath Test Failure Log").Select
Else
Range("D5:E20,G5:P20,R5:S20").Select
Selection.ClearContents
Windows("Form 8241B - Bath Test Log.xlsx").Activate
ActiveWorkbook.Save
ActiveWindow.Close
Windows("Data Entry Log.xlsm").Activate
Sheets("Test Start").Select
ActiveWorkbook.Save
End If
на
check = 0
For Each cell In Range("R5:R20")
If cell.Value = "Fail" Then
check = 1
Exit For
End If
Next cell
If check = 1 Then
Sheets("Bath Test Failure Log").Select
Else
Range("D5:E20,G5:P20,R5:S20").Select
Selection.ClearContents
Windows("Form 8241B - Bath Test Log.xlsx").Activate
ActiveWorkbook.Save
ActiveWindow.Close
Windows("Data Entry Log.xlsm").Activate
Sheets("Test Start").Select
ActiveWorkbook.Save
End If
Это должно решить вашу непосредственную проблему, но я бы посоветовал реструктурировать ваш код, чтобы ссылаться на объекты, а не использовать активацию и пытаться избежатьSelect
где возможно