У нас есть соответствующая задача у которой есть параметры "Задача в работе?" (указывает "Да"\"Нет") и "Задача выполнена?" (Указывает "Да"\"Нет")
Если в графе Задача выполнена указано "Да" то соответствующее ей значение "Задача в работе" должно быть пустым Как это правильно реализовать? Файл приложил
Здравствуйте. Как реализовать следующий пункт:
У нас есть соответствующая задача у которой есть параметры "Задача в работе?" (указывает "Да"\"Нет") и "Задача выполнена?" (Указывает "Да"\"Нет")
Если в графе Задача выполнена указано "Да" то соответствующее ей значение "Задача в работе" должно быть пустым Как это правильно реализовать? Файл приложилkhaalid12345
Я так подумал, что если нет задачи в работе то и ставить не надо. Просто первая мысля была, как и у Вас - через УФ. Но не успел и сделал первое, что пришло на ум. Осталось наверное только макросом но этого я совсем не могу. Предложил, как вариант. Это же бесплатно. Ещё вариант после "критики":
Я так подумал, что если нет задачи в работе то и ставить не надо. Просто первая мысля была, как и у Вас - через УФ. Но не успел и сделал первое, что пришло на ум. Осталось наверное только макросом но этого я совсем не могу. Предложил, как вариант. Это же бесплатно. Ещё вариант после "критики":
Вариант макросом До кучи еще добавил, что если заполняется поле "В работе", то очищается поле "Выполнена"
PrivateSub Worksheet_Change(ByVal Target As Range) Dim d As Range
n_ = Cells(Rows.Count, 1).End(3).Row - 1 Set dc_ = Intersect(Target, Cells(2, 3).Resize(n_)) Set db_ = Intersect(Target, Cells(2, 2).Resize(n_))
Application.EnableEvents = 0
Application.ScreenUpdating = 0 IfNot dc_ IsNothingThen For i = 1To dc_.Count If dc_(i) = "Да"Then
dc_(i).Offset(, -1).ClearContents EndIf Next i ElseIfNot db_ IsNothingThen For i = 1To db_.Count If db_(i) <> ""Then
db_(i).Offset(, 1).ClearContents EndIf Next i EndIf
Application.ScreenUpdating = 1
Application.EnableEvents = 1 EndSub
Вариант макросом До кучи еще добавил, что если заполняется поле "В работе", то очищается поле "Выполнена"
PrivateSub Worksheet_Change(ByVal Target As Range) Dim d As Range
n_ = Cells(Rows.Count, 1).End(3).Row - 1 Set dc_ = Intersect(Target, Cells(2, 3).Resize(n_)) Set db_ = Intersect(Target, Cells(2, 2).Resize(n_))
Application.EnableEvents = 0
Application.ScreenUpdating = 0 IfNot dc_ IsNothingThen For i = 1To dc_.Count If dc_(i) = "Да"Then
dc_(i).Offset(, -1).ClearContents EndIf Next i ElseIfNot db_ IsNothingThen For i = 1To db_.Count If db_(i) <> ""Then
db_(i).Offset(, 1).ClearContents EndIf Next i EndIf
Application.ScreenUpdating = 1
Application.EnableEvents = 1 EndSub
Здравствуйте. Не могли бы вы подсказать как в данном случае отредактировать текст макроса? И также, объяснить, что означают "1", "3", "2,3", "2,2" в данном случае?
n_ = Cells(Rows.Count, 1).End(3).Row - 1 Set dc_ = Intersect(Target, Cells(2, 3).Resize(n_)) Set db_ = Intersect(Target, Cells(2, 2).Resize(n_))
Несовсем понимаю как отредактировать код макроса для текущего файла
_Boroda_,
Здравствуйте. Не могли бы вы подсказать как в данном случае отредактировать текст макроса? И также, объяснить, что означают "1", "3", "2,3", "2,2" в данном случае?
n_ = Cells(Rows.Count, 1).End(3).Row - 1 Set dc_ = Intersect(Target, Cells(2, 3).Resize(n_)) Set db_ = Intersect(Target, Cells(2, 2).Resize(n_))
Несовсем понимаю как отредактировать код макроса для текущего файлаkhaalid12345