Private Sub Worksheet_Change(ByVal Target As Range) Dim dat& dat = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B2:B" & dat)) Is Nothing Then
If Target <> "" And Target.Offset(0, -1) = "" Then Target.Offset(0, -1) = Now End If End Sub
[/vba]
в модуль листа [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim dat& dat = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B2:B" & dat)) Is Nothing Then
If Target <> "" And Target.Offset(0, -1) = "" Then Target.Offset(0, -1) = Now End If End Sub
Второй макрос четвертого поста как раз для Вас [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 For i = 1 To Target.Count If Target(i).Column = 2 Then If Target(i).Value <> "" Then Target(i).Offset(, -1) = Now Else Target(i).Offset(, -1).ClearContents End If End If Next i Application.EnableEvents = 1 End Sub
Второй макрос четвертого поста как раз для Вас [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 For i = 1 To Target.Count If Target(i).Column = 2 Then If Target(i).Value <> "" Then Target(i).Offset(, -1) = Now Else Target(i).Offset(, -1).ClearContents End If End If Next i Application.EnableEvents = 1 End Sub
Очень просто - вначале макроса снимаем защиту, делаем свои дела и ставим защиту. Или снимаем защиту, сразу же ставим защиту, но с разрешением макросу работать с защищенными ячейками, а потом делаем свои дела. Если нужно подробнее, то на форуме множество подобных тем. Если все-таки не поборете самостоятельно, то создавайте отдельную тему - это совершенно другой вопрос уже.
Очень просто - вначале макроса снимаем защиту, делаем свои дела и ставим защиту. Или снимаем защиту, сразу же ставим защиту, но с разрешением макросу работать с защищенными ячейками, а потом делаем свои дела. Если нужно подробнее, то на форуме множество подобных тем. Если все-таки не поборете самостоятельно, то создавайте отдельную тему - это совершенно другой вопрос уже._Boroda_
Я вот нашел что то похожее на форуме, макрос с защитой ячеек, но в виду своих скудных знаний не могу понять как его подогнать под мой макрос (2 вариант в данном посте), помогите вставить куда нужно, заранее благодарен.
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:F65536")) Is Nothing Then With Range("G" & cell.Row) ActiveSheet.Unprotect Password:="1234" 'если ячейки защищены паролем - разблокируем их для макроса .Value = Now ActiveSheet.Protect Password:="1234" 'восстанавливаем защиту ячеек End With End If Next cell End Sub
Я вот нашел что то похожее на форуме, макрос с защитой ячеек, но в виду своих скудных знаний не могу понять как его подогнать под мой макрос (2 вариант в данном посте), помогите вставить куда нужно, заранее благодарен.
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:F65536")) Is Nothing Then With Range("G" & cell.Row) ActiveSheet.Unprotect Password:="1234" 'если ячейки защищены паролем - разблокируем их для макроса .Value = Now ActiveSheet.Protect Password:="1234" 'восстанавливаем защиту ячеек End With End If Next cell End Submikeret
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:F65536")) Is Nothing Then With Range("G" & cell.Row) ActiveSheet.Unprotect Password:="1234" 'если ячейки защищены паролем - разблокируем их для макроса .Value = Now ActiveSheet.Protect Password:="1234" 'восстанавливаем защиту ячеек End With End If Next cell End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:F65536")) Is Nothing Then With Range("G" & cell.Row) ActiveSheet.Unprotect Password:="1234" 'если ячейки защищены паролем - разблокируем их для макроса .Value = Now ActiveSheet.Protect Password:="1234" 'восстанавливаем защиту ячеек End With End If Next cell End Sub