Проблема была как сделать так, чтобы заставить пользователя обязательно внести информацию в нужные ячейки при заполнении. Например, если ячейка А2 непустая, то запретить пользователю переход на другую строку (запрет выделения ячеек на других строках), если ячейки D2 и G2 пустые. А ячейку A2 запретить изменять, если пустая ячейка A1. Соответственно, тот же случай с ячейками А3 и D3,G3 и т.д.
За основу взял несколько примеров все глючили - вот один поправил вроде работает
Получилось выделить исходный диапазон – проверил ошибок не выдает
Осталось сделать подсветку незаполненных ячеек в строке вместо MsgBox + если не заполнены ячейки хотя бы в одной строке – не дает переходить с листа на лист и закрыть файл – вылазит табличка "Полностью Заполните поля строки !"
Пока не знаю как реализовать- кто поможет HELP
Файлик прилагаю.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
flag = 0
If Target.Column >= 2 And Target.Column <= 7 And Target.Row > 8 And Target.Row <= 701 Then ‘ вводим диапазон где будет проверка
For j = 2 To 7 Step 1
If Cells(Target.Row - 1, j) = "" Then
flag = 1
End If
Next j
If flag = 1 Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
MsgBox ("Заполните всю информацию по дате")
End If
End If
End Sub
За основу взял несколько примеров все глючили - вот один поправил вроде работает
Получилось выделить исходный диапазон – проверил ошибок не выдает
Осталось сделать подсветку незаполненных ячеек в строке вместо MsgBox + если не заполнены ячейки хотя бы в одной строке – не дает переходить с листа на лист и закрыть файл – вылазит табличка "Полностью Заполните поля строки !"
Пока не знаю как реализовать- кто поможет HELP
Файлик прилагаю.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
flag = 0
If Target.Column >= 2 And Target.Column <= 7 And Target.Row > 8 And Target.Row <= 701 Then ‘ вводим диапазон где будет проверка
For j = 2 To 7 Step 1
If Cells(Target.Row - 1, j) = "" Then
flag = 1
End If
Next j
If flag = 1 Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
MsgBox ("Заполните всю информацию по дате")
End If
End If
End Sub