Не хватает понимания как объединить эти два кода. Нужно чтобы дата автоматически вставлялась и после введения значений в ячейки, ячейки были защищены от изменений
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target
If cell <> "" Then
If Not Intersect(cell, Range("C10:C10000")) Is Nothing Then
With cell.Offset(0, -1)
.Value = Date
' .EntireColumn.AutoFit
End With
End If
End If
Next cell
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End Sub
ZAV, спасибо за ответ. Но я так уже пробовал. Не понимаю почему, но excel просто не хочет работать с таким кодом. просто висит и всё. Заново открываю файл, пару ячеек позволяет заполнить и всё... Виснет ((( Но огромное спасибо, за ответ!!!
vl9123 написал: excel просто не хочет работать с таким кодом. просто висит и всё
На всякий случай пересохранил в xls. Проверил в Excel 2003, работает. Вы же лист хотели блокировать после каждого изменения? Он и блокируется. Для снятия блокировки идем в Сервис > Защита > Снять защиту листа - это в 2003. В 2010 вкладка Рецензирование > Снять защиту листа.