Я создаю улучшенное расписание для своего рабочего места, пытаюсь реализовать макросы для проверки ошибок данных, которые вводятся вручную.
У меня есть один код, который работает, как ожидалось, но когда я изменилсялогический тест, он перестает работать.
Я сам не разбираюсь в кодировании VBA, поэтому мне нужна помощь.
Sub ErrorMsg2()
Dim a As Long, b As Long
Dim Msg As String
For a = 28 To 44 Step 4
For b = 4 To 8
If Application.CountIf(Range("C" & a).Resize(, 6), "(=0.7 or =0.8)") Then
If Cells(a, b) = (0.7 Or 0.8) And Cells(a, (b - 1)) = (0.9 Or 1) Then
If Msg = "" Then Msg = Cells(24, b) Else Msg = Msg & ", " & Cells(24, b)
End If
End If
Next b
MsgBox Range("A" & a) & " Has been scheduled a night shift followed by a day shift on " & Msg & vbNewLine & "Please Rectify." & vbNewLine & _
"Press OK to acknowledge.", vbExclamation + vbOKOnly, "Error"
Msg = ""
Next a
End Sub
Например, если ячейка D28 = 0,8и ячейка C28 = 1, должно появиться окно сообщения.
Однако окно сообщения появляется, когда b = 9.