Мне нужен этот скрипт для пустых 4 ячеек и изменения ячейки от Done до Pending, когда выполняются оба условия.VBA - Изменение значения ячейки на основе двух других ячеек
Я все еще очень неопытный в VBA так извинениями за очень простой и уродливый код: P
If Range("C5").Value Like "Done" And Range("D5").Value = "1" Then
Range("A5:B5").ClearContents
If Range("C5").Value Like "Done" And Range("D5").Value = "1" Then
Range("D5:E5").ClearContents
If Range("C5").Value Like "Done" And Range("D5").Value = "1" Then
Range("C5").Value = "Pending"
End If
End If
End If
Я не понимаю, почему ячейка C5 не изменяет себя отложенное в этой ситуации, так как D5 Cell действительно очищает себя.
Может быть, потому, что я использую проверку данных для ячейки C5? Он извлекает список с именем = TaskState
TaskState состоит из 4 вариантов: В ожидании In Progress Отложено Done
Большое спасибо
Почему вы используете слишком много 'If' и' then' для тех же условий? – newguy
Думаю, вам стоит пересмотреть основы форматирования [см. Мое редактирование на ваш вопрос об общих стандартах форматирования в VBA] - в этом случае это помогло бы вам увидеть, что каждый оператор If зависит от того, который был до него; это означало бы, что вам не нужно было запускать один и тот же тест несколько раз. –