Страницы: 1
RSS
Автоматическая вставка текущей даты в ячейку при вводе данных, дороботать, вставить дату в защищенную ячейку
 
Здравствуйте! пример вставки даты, который есть в "Приемах"(http://www.planetaexcel.ru/techniques/6/44/)) подходит. Когда сделать так, чтобы дата вставлялась в защищенную ячейку. или чтобы после вставки даты, ее нельзя было изменить. Спасибо.

PrivateSubWorksheet_Change(ByValTarget AsRange)    
   For Each cell In Target   'проходим по всем измененным ячейкам
      If Not Intersect(cell, Range("A2:A100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон A2:A100
           With cell.Offset(0, 1)         'вводим в соседнюю справа ячейку дату
              .Value = Now
              .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
           End With
      End If
   Next cell
End Sub

Для форматирования кода кнопка <...>[МОДЕРАТОР]
 
Может как то так?
Код
PrivateSubWorksheet_Change(ByValTarget AsRange)
Sheets(2).Protect Password:="1111", UserInterfaceOnly:=True
Sheets("Лист1".Protect Password:="1111", UserInterfaceOnly:=True
For Each cell In Target 'проходим по всем измененным ячейкам 
If Not Intersect(cell, Range("A2:A100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100 
With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату 
.Value = Now 
.EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке 
End With 
End If 
Next cell 
End Sub


Или можно так:  
Код
 'снимаем защиту с листа
    Worksheets("Лист1".Unprotect
    'если лист защищен с паролем 1234: Worksheets("Лист1".Unprotect "1234"
    'Действия которые хотите произвести на листе, например,изменение значения ячейки А1
    Cells("A1".Value = "проверка"
    'устанавливаем защиту на лист
    Worksheets("Лист1".Protect
    'если лист был защищен с паролем 1234: Worksheets("Лист1".Protect "1234"
End Sub
Изменено: Владислав - 27.04.2015 11:15:45
 
Спасибо! Попробую. у меня не все ячейки защищены, только столбец где дата нужно защитить, тогда как сделать? наверно нужно будет указать столбец для защиты, как это сделать не подскажете? VBA не очень знаю.
Страницы: 1
Наверх