Добрый день! С VBA знаком очень поверхностно Столкнулся со следующей ситуацией. Необходимо сделать строку неактивной( чтобы нельзя было ничего редактировать) в зависимости от условия в другом столбце. Прикрепляю файл. В столбце Флаг, если у нас стоит Yes, то соотвествующие ячейки в первом и втором столбце должны быть доступны для редактирования. Если там стоит 'No', то надо сделать ячейки в других столбцах неактивными, чтобы нельзя было там ничего писать, и по возможности ячейки меняли цвет. Так же интересует вариант не с заблокированием ячеек, а со скрытием строки, если у нас во Флаге стоит "No"
Спасибо!
Добрый день! С VBA знаком очень поверхностно Столкнулся со следующей ситуацией. Необходимо сделать строку неактивной( чтобы нельзя было ничего редактировать) в зависимости от условия в другом столбце. Прикрепляю файл. В столбце Флаг, если у нас стоит Yes, то соотвествующие ячейки в первом и втором столбце должны быть доступны для редактирования. Если там стоит 'No', то надо сделать ячейки в других столбцах неактивными, чтобы нельзя было там ничего писать, и по возможности ячейки меняли цвет. Так же интересует вариант не с заблокированием ячеек, а со скрытием строки, если у нас во Флаге стоит "No"
Здравствуйте, Еще вариант с Условным форматированием и Проверкой данных
PrivateSub Worksheet_Change(ByVal Target As Range) If Target.Column = 5Then With Range(Cells(Target.Row, 3), Cells(Target.Row, 4)).Validation
.Delete If Target.Value = "No"Then
.Add Type:=xlValidateCustom, Formula1:="="""""
.ErrorTitle = "Запрещено редактировать!"
.ErrorMessage = "Ввод новых значений запрещён" & vbCrLf & "Нажмите ""ОТМЕНА"""
.ShowError = True EndIf EndWith EndIf EndSub
Не требует паролирования листа, но ограничение можно "обойти", если не много подумать )) З.Ы. значение не может быть отредактировано, но может быть удалено ((
Здравствуйте, Еще вариант с Условным форматированием и Проверкой данных
PrivateSub Worksheet_Change(ByVal Target As Range) If Target.Column = 5Then With Range(Cells(Target.Row, 3), Cells(Target.Row, 4)).Validation
.Delete If Target.Value = "No"Then
.Add Type:=xlValidateCustom, Formula1:="="""""
.ErrorTitle = "Запрещено редактировать!"
.ErrorMessage = "Ввод новых значений запрещён" & vbCrLf & "Нажмите ""ОТМЕНА"""
.ShowError = True EndIf EndWith EndIf EndSub
Не требует паролирования листа, но ограничение можно "обойти", если не много подумать )) З.Ы. значение не может быть отредактировано, но может быть удалено ((boa
boa, Спасибо большое, прямо как надо, пароль на лист мне как раз необязателен. Не могу разобраться, как сделать так, чтобы при выборе "NO" шла смена цвета ячеек, у меня они всегда остаются белыми
boa, Спасибо большое, прямо как надо, пароль на лист мне как раз необязателен. Не могу разобраться, как сделать так, чтобы при выборе "NO" шла смена цвета ячеек, у меня они всегда остаются белымиBeleric3380