Страницы: 1
RSS
Блокировка строк. Защитить данные, которые уже были внесены в таблицу раннее.
 
Доброго времени суток, единомышленники!

Я веду список. Список постоянно увеличивается.
О макросах я задумался на 42-й строке.

Я хочу защитить список от изменений.
А именно защитить те данные, которые уже были внесены в таблицу раннее.
Т.е. если новая запись не сделана последняя запись не блокируется и так далее.
(и не важно, прошла секунда или год)

Как автоматизировать блокировку ячеек, диапазона А#, B#, C# в строке.
При условии заполнения всех ячеек нижестоящей строки, диапазона А#, B#, C#.
Только диапазон А#, B#, C# потому, как другие столбцы планируется использовать в любое время.
При всём этом я установил макрос на эту страницу:
 
не спасет Вас защита...ну вариант так
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    For Each cell In Target   'проходим по всем измененным ячейкам
       If Not Intersect(cell, Range("C2:C100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон A2:A100
            With cell.Offset(0, -1)         'вводим в соседнюю справа ячейку дату
               .Value = Now
               '.EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
            ActiveSheet.Unprotect
                Range("A:C").Locked = True
                Range(Cells(Target.Row, 1), Cells(Target.Row + 1, 3)).Locked = False
            ActiveSheet.Protect
            End With
       End If
    Next cell
End Sub
Изменено: Mershik - 29.11.2021 15:27:24
Не бойтесь совершенства. Вам его не достичь.
 
Благодарю очень помогло.
Страницы: 1
Наверх